为了账号安全,请及时绑定邮箱和手机立即绑定

Python pandas 在另一列的元素列表中查找一列的元素

Python pandas 在另一列的元素列表中查找一列的元素

胡说叔叔 2023-10-26 10:39:03
这是我的问题,我想在数据帧的 B 列的元素列表中查找 A 列的元素。因此,我只想保留在 A 中找到元素的那些行:df = pd.DataFrame({'A': [1, 2],                   'B': [1, 3]                 })result = df[df.A.isin(df.B)]>>> result   A  B0  1  1工作正常,但我真正想要的是:df = pd.DataFrame({'A': [1, 2],                   'B': [[1, 2], [1, 3]]                 })result = df[df.A.isin(df.B)]>>> resultEmpty DataFrameColumns: [A, B]Index: []哪个不起作用,因为 A 中的元素不是与 B 列中的列表元素进行比较,而是与整个列表进行比较?我想要的结果是:>>> result   A       B0  1  [1, 2]那可能吗?
查看完整描述

1 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

你可以这样做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]


查看完整回答
反对 回复 2023-10-26
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信