2017-10-10 68 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