Python Pandas在另一列的元素列表中找到一列的元素

施鲁克5

这是我的问题,我想在数据帧的B列的元素列表中找到A列的元素。结果,我只想保留那些在A中找到元素的行:

df = pd.DataFrame({'A': [1, 2],
                   'B': [1, 3]
                 })
result = df[df.A.isin(df.B)]

>>> result
   A  B
0  1  1

工作正常,但我真正想要的是:

df = pd.DataFrame({'A': [1, 2],
                   'B': [[1, 2], [1, 3]]
                 })
result = df[df.A.isin(df.B)]

>>> result
Empty DataFrame
Columns: [A, B]
Index: []

哪个不起作用,因为A中的元素没有与B列中的列表元素进行比较,而是与整个列表进行比较?

结果,我希望拥有的是:

>>> result
   A       B
0  1  [1, 2]

那可能吗?

广晃

您可以apply

df[df.apply(lambda row: row['A'] in row['B'], axis=1)]

或zip理解:

df[[a in b for a,b in zip(df['A'], df['B'])]]

输出:

   A       B
0  1  [1, 2]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Python Pandas中找到一列的最小值大于另一列的值

Python pandas:如何通过匹配另一列中的元素来创建列表

Python将列添加到Pandas数据框中,这是另一列中的列表元素的计数

Python,数据框:在列表的一列中复制元素,并将其归因于另一列中的行

Python将一个列表的元素连接到另一列表的元素之间

Python:如果满足条件,则用另一列表中的元素替换

Python pandas:对于一列中的每个唯一值,在另一列中找到一个最小值并从另一列的值中减去它

Python Pandas DataFrame检查一列的值是否在另一列表中

如何从一列中查找元素,这些元素也出现在Python的DataFrame的另一列中

Python在一个列表中查找不在另一列表中的元素的索引

Python / Pandas在一列中找到最接近/最接近的值

numpy python:在另一列中为每个唯一值从一列中找到最大值

对于一列的所有唯一“单词”,从另一列中找到唯一的单元格,然后在python中平均另一列的对应值

根据python中的另一列过滤列列表

Pandas 基于另一列 python 获取一列中的唯一值

将列表中的每个元素与数据框 python 中的一列列表进行比较

python pandas-将列除以另一列

使用 Python pandas 从另一列驱动列

Python:从另一列的列表中替换一列中的字符串

python从一列查找列表,并从另一列返回等效id

Python-如何编写循环以基于另一个列表的元素python为列表中的每个df添加一列

根据另一列(Python,Pandas)中的值删除一列的重复项

Python pandas:如何更改(复杂)基于另一列的一列?

Pandas / Python:根据另一列中的值设置一列的值

检查一列是否包含来自python pandas中另一列的数据

仅使用“基本”代码将唯一列表的元素与Python进行比较

如何过滤在同一列表python中较长元素中出现的列表中的字符串元素?

Python Pandas:根据另一列更改条件

Python Pandas:根据另一列的值更新行