2017-10-10 69 views
1

全部!数据帧列中的值集合

我有一个数据框。一列包含这样的字符串:'Product1,Product2,foo,bar'。

我已经按''分割了它们,现在我有一列包含产品名称列表。

如何获得一组独特的产品名称?

回答

0

首先拼合列出清单,然后申请set和最后转换到list

df = pd.DataFrame(data = {'a':['Product1,Product1,foo,bar','Product1,foo,foo,bar']}) 

print (df) 
          a 
0 Product1,Product1,foo,bar 
1  Product1,foo,foo,bar 

a=list(set([item for sublist in df['a'].str.split(',').values.tolist() for item in sublist])) 
print (a) 
['bar', 'foo', 'Product1'] 

如果想每行的唯一值:

df = df['a'].str.split(',').apply(lambda x: list(set(x))) 
print (df) 

0 [bar, foo, Product1] 
1 [bar, foo, Product1] 
Name: a, dtype: object