从数据帧python中的行和列(单元格)中删除重复项

2024-05-08 23:33:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列,每个数据帧中的每个单元格都有很多重复项。与此类似:

Index   x    y  
  1     1    ec, us, us, gbr, lst
  2     5    ec, us, us, us, us, ec, ec, ec, ec
  3     8    ec, us, us, gbr, lst, lst, lst, lst, gbr
  4     5    ec, ec, ec, us, us, ir, us, ec, ir, ec, ec
  5     7    chn, chn, chn, ec, ec, us, us, gbr, lst

我需要消除所有重复项,然后得到这样的结果数据帧:

^{pr2}$

谢谢!!在


Tags: 数据indexiruseclstchnpr2
3条回答

试试这个:

d['y'] = d['y'].apply(lambda x: ', '.join(sorted(set(x.split(', ')))))

Split并应用set和{},即

df['y'].str.split(', ').apply(set).str.join(', ')

0         us, ec, gbr, lst
1                   us, ec
2         us, ec, gbr, lst
3               us, ec, ir
4    us, lst, ec, gbr, chn
Name: y, dtype: object

根据评论更新:

^{pr2}$

对dataframe使用apply方法。在

# change this function according to your needs
def dedup(row):
    return list(set(row.y))

df['deduped'] = df.apply(dedup, axis=1)

相关问题 更多 >