我有一个如下所示的 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/

10-13 09:18