В дополнение к более раннему редактированию, которое, как я понял, теперь вы хотите заменить на месте, что можно сделать с помощью понимания списка следующим образом, разбив столбец A
Fist и выберите его первый индекс и перейдите к лямбде, используя apply
метод.
Структура фрейма данных:
df
A
0 Jake Hill
1 Matt Dawn
2 Matt King
3 Henry White
4 Jake Hyde
Ваш name
Var ..
$ name
['Jake', 'Matt', 'Henry']
Ваш конечный желаемый набор данных:
Параметр n может использоваться для ограничения количества разбиений на выходе.
df['A'] = df['A'].str.split(n=1, expand=True)[0].apply(lambda x: x if x in name else ' '.join(x))
print(df)
A
0 Jake
1 Matt
2 Matt
3 Henry
4 Jake
Это должно быть просто, если вы не нажали, чтобы брать имена из Var, и конечная цель - получить Имя из фрейма данных:
>>> df
A
0 Jake Hill
1 Matt Dawn
2 Matt King
3 Henry White
4 Jake Hyde
>>> df['A'].str.split(n=1, expand=True)[0]
0 Jake
1 Matt
2 Matt
3 Henry
4 Jake
Name: 0, dtype: object
ИЛИ Если вы хотите заменить на месте колонку A
..
df['A'] = df['A'].str.split(n=1, expand=True)[0]