我有一个包含列的DataFrame props,其中包含字符串列表.
理想情况下,我想按照此列进行分组,但是当我这样做时,我可以预料到会出错:
TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)
是否有一种合理的方式来重新安排我的DataFrame,以便我可以使用这些值?
您可以将不可变的对应项用于元组列表:
>>> import pandas as pd
>>> df = pd.DataFrame([[[1, 2], 'ab'], [[2, 3], 'bc']])
>>> df.groupby(0).groups
...
... TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)
您可以apply在相应的列上进行转换:
>>> df[0] = df[0].apply(tuple)
>>> df.groupby(0).groups
{(1, 2): [0], (2, 3): [1]}
Run Code Online (Sandbox Code Playgroud)