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

发布于 2021-01-29 15:04:41

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

因此结果将如下图所示。

在此处输入图片说明

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

关注者
0
被浏览
230
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    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()在这里,因为你想比较在行和这些方法期待的搜索条件的固定列表或图案。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看