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

时间:2018-11-07 10:46:03

标签: python-2.7 pandas row unique

对于如下所示的数据框:

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()

1 个答案:

答案 0 :(得分:1)

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