2015-10-14 19 views
4

我有一個數據幀如下:如何將列表轉換爲熊貓集?

  date      uids 
0 2018-11-23 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] 
1 2018-11-24 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] 

當我使用set將其轉換爲設置失敗:

df['uids'] = set(df['uids']) # IT FAILS! 

我應該如何轉換成listset到位?

回答

2

您應該使用申請數據框API的方法:

df['uids'] = df.apply(lambda row: set(row['uids']), axis=1) 

df = df['uids'].apply(set) # great thanks to EdChum 

你可以找到更多信息有關申請方法here

>>> df 
0 set([1, 2, 3, 4, 5]) 
1   set([2, 3, 4]) 
Name: A, dtype: object 

或者::使用

df = pd.DataFrame({'A': [[1,2,3,4,5,1,1,1], [2,3,4,2,2,2,3,3]]}) 
df = df['A'].apply(set) 

輸出

例子

>>> df = pd.DataFrame({'A': [[1,2,3,4,5,1,1,1], [2,3,4,2,2,2,3,3]]}) 
>>> df['A'] = df.apply(lambda row: set(row['A']), axis=1) 
>>> df 
         A 
0 set([1, 2, 3, 4, 5]) 
1  set([2, 3, 4]) 
+3

'DF [ '的uid']申請(套)'工作正常這裏 – EdChum

+0

這與_apply_方法的較短版本幾乎相同。 – Gregg

+0

@EdChum你的解決方案不起作用。 – ALH