在逗号分隔的值上逐行查找唯一值



对于下面这样的数据帧:

df = pd.DataFrame({'col':['abc,def,ghi,jkl,abc','abc,def,ghi,def,ghi']})

如何在新列中按行获取列col的唯一值,如下所示:

col             unique_col
0  abc,def,ghi,jkl,abc    abc,def,ghi,jkl
1  abc,def,ghi,def,ghi    abc,def,ghi

我尝试使用iteritems,但出现属性错误:

for i, item in df.col.iteritems():
print item.unique()
import pandas as pd
df = pd.DataFrame({'col':['abc,def,ghi,jkl,abc','abc,def,ghi,def,ghi']})

def unique_col(col):
return ','.join(set(col.split(',')))
df['unique_col'] = df.col.apply(unique_col)

结果:

col     unique_col
0   abc,def,ghi,jkl,abc     ghi,jkl,abc,def
1   abc,def,ghi,def,ghi     ghi,abc,def

最新更新