2013-10-28 54 views
4

我有一個DataFrame包含一列,props,它包含字符串列表。包含列表的熊貓列的組操作

理想情況下,我想這個欄目組,但我可以預見得到一個錯誤,當我做:

TypeError: unhashable type: 'list' 

是否有一個合理的方式來重新安排我的數據幀,所以我可以與這些工作值?

回答

8

您可以將字符串列表轉換爲字符串的元組。元組是可變的,因爲它們是不可變的。這當然假設您不需要在創建後添加或刪除這些列表。

+0

爾加。當然。謝謝! – urschrei

4

您可以使用不可變對口名單,這是tuples

>>> import pandas as pd 
>>> df = pd.DataFrame([[[1, 2], 'ab'], [[2, 3], 'bc']]) 
>>> df.groupby(0).groups 
... 
... TypeError: unhashable type: 'list' 

你可以apply轉換相應的列:

>>> df[0] = df[0].apply(tuple) 
>>> df.groupby(0).groups 
{(1, 2): [0], (2, 3): [1]}