【发布时间】:2020-07-24 07:48:45
【问题描述】:
我是一个新手,非常坚持我的 python 项目。我有一个包含列表的熊猫系列,如下所示:
>> df.head()
>> column1
['A', 'B']
['A']
['A', 'C']
['A', 'B', 'C']
['B']
想要的输出应该是这样的:
>> column1 column2
'A' 4
'B' 3
'C' 2
column1 是字符串还是包含一个元素的列表都没有关系。
我试过这些:
df.groupby('column1').count()
df['column1'].value_counts()
但两者都给了我:
TypeError: unhashable type: 'list'
也试过了:
df.groupby('column1')
但它不显示结果。
在此处尝试了解决方案 (How to print a groupby object),但没有一个有效:(
【问题讨论】:
-
看
series.explode()然后做value_countsdf['column1'].explode().value_counts() -
你好@anky,这是一种新方法吗?它返回:“AttributeError:'Series' 对象没有属性'explode'”。很遗憾,我不允许更新我使用的虚拟机。将在我的本地计算机上尝试。将很快更新。谢谢! :)
-
是的,你需要 pandas
0.25或以上,或者你可以做pd.Series(np.concatenate(df['column1'])).value_counts() -
现在可以使用了。太感谢了! :)