我有一个如下所示的 Pandas 数据框。它有大约一百万行。
name = ['Jake','Matt', 'Henry']
0 A
1 Jake Hill
2 Matt Dawn
3 Matt King
4 White Henry
5 Hyde Jake
我想遍历列表和 df['A'] 列并只返回名字。例如,最终的数据帧应如下所示。
0 A
1 Jake
2 Matt
3 Matt
4 Henry
5 Jake
提前致谢。我是 python 的新手,所以仍然想出最简单的方法来做到这一点。
最佳答案
你需要:
first_name = ['Jake','Matt', 'Henry']
df = pd.DataFrame({'A': ['Jake Hill', 'Matt Dawn', 'Matt King', 'Henry White','Jake Hyde','Dwayne John']})
def func(x):
for k in first_name:
if k in x:
return k
return x
df['A'] = df['A'].apply(lambda x: func(x))
输出:
A
0 Jake
1 Matt
2 Matt
3 Henry
4 Jake
5 Dwayne John
关于python - 从 Pandas df 列的预设字符串列表中拆分字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53386763/