小编典典

如何使用Python DataFrame检查A列的内容是否包含在B列中?

python

我在pandasDataFrame中有两列:authorsname。我想创建第三列:单元格的值是True相应行的中name是否包含相应行的authorsFalse否则。

因此结果将如下图所示。

在此处输入图片说明

我已经试过.str.contains().str.extract().str.find().where(),等,但Python中返回一个错误:“系列”的对象是可变的,因此它们不能被散列。有谁知道如何在Python中创建第三列?


阅读 990

收藏
2021-01-20

共1个答案

小编典典

IIUC,然后您可以apply逐行进行lambda来检查在Authors中是否存在Name字符串:

df['Check'] = df.apply(lambda row: row['Name'] in row['Authors'], axis=1)

应该管用

不能使用str.contains()str.extract()str.find(),或where()在这里,因为你想比较在行和这些方法期待的搜索条件的固定列表或图案。

2021-01-20