首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除与同一行中的另一列匹配的熊猫列列表中的值。

删除与同一行中的另一列匹配的熊猫列列表中的值。
EN

Stack Overflow用户
提问于 2022-07-25 23:29:23
回答 2查看 41关注 0票数 0

我有一个熊猫df,其中一个列是由列表组成的。我希望删除该列表中与同一行中的另一列匹配的值。请注意,有时“similar_ids”是空的,或者只有一个值。例子如下:

原创

代码语言:javascript
复制
ID     similar_ids 
1       "1, 234, 3215"
2       "2, 52, 1"
3       "49, 3"
4       "4"
5

所需

代码语言:javascript
复制
ID     similar_ids 
1       234, 3215
2       52, 1
3       49
4       
5
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-26 01:18:00

代码语言:javascript
复制
df['similar_ids'] = df.apply(lambda row: [x for x in row.similar_ids if x != row.ID], axis=1)
print(df)

输出:

代码语言:javascript
复制
   ID  similar_ids
0   1  [234, 3215]
1   2      [52, 1]
2   3         [49]
3   4           []
4   5           []
票数 0
EN

Stack Overflow用户

发布于 2022-07-26 00:11:33

代码语言:javascript
复制
import pandas as pd

d = {'ID':[1, 2, 3, 4, 5], 'similar_ids':[[1, 234, 3215], [2, 52, 1], [49, 3], [4], []]}
df = pd.DataFrame(data=d)

for i in range(len(df['ID'])):
    if df['ID'][i] in df['similar_ids'][i]:
        df['similar_ids'][i].remove(df['ID'][i])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73116293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档