pandas:一列是另一列的子字符串

Lit*_*ake 3 python string pandas

我正在尝试测试数据帧(el)中的一列(姓氏)是否是另一列(名称)的子字符串。我尝试过以下方法,但 python 不喜欢它

el.name.str.contains(el.surname)
Run Code Online (Sandbox Code Playgroud)

我可以看到很多有关如何搜索文字子字符串的示例,但看不到子字符串是列的情况。快被这个搞疯了,求救!

戴夫

Jan*_*Jan 5

您可以使用

import pandas as pd

dct = {'surname': ['Smith', 'Miller', 'Mayer'],
       'name': ['Dr. John Smith', 'Nobody', 'Prof. Dr. Mayer']}

df = pd.DataFrame(dct)

df['is_part_of_name'] = df.apply(lambda x: x["surname"] in x["name"], axis=1)
print(df)
Run Code Online (Sandbox Code Playgroud)

哪个产量

  surname             name  is_part_of_name
0   Smith   Dr. John Smith             True
1  Miller           Nobody            False
2   Mayer  Prof. Dr. Mayer             True
Run Code Online (Sandbox Code Playgroud)