[英]How to count occurrence of each element in pandas series of lists?
I'm a newbie and quite stuck with my python project.我是一个新手,非常坚持我的 python 项目。 I have a pandas series containing lists, like this:
我有一个包含列表的 pandas 系列,如下所示:
>> df.head()
>> column1
['A', 'B']
['A']
['A', 'C']
['A', 'B', 'C']
['B']
The desired output should be like this:所需的 output 应该是这样的:
>> column1 column2
'A' 4
'B' 3
'C' 2
It doesn't matter whether column1 is a string or a list with one element. column1是字符串还是具有一个元素的列表都没有关系。
I tried these:我试过这些:
df.groupby('column1').count()
df['column1'].value_counts()
But both gave me:但两者都给了我:
TypeError: unhashable type: 'list'
Also tried:也试过:
df.groupby('column1')
But it does not display results.但它不显示结果。
Tried solutions here ( How to print a groupby object ) but none worked:(在这里尝试了解决方案( 如何通过 object 打印一个组)但没有一个有效:(
Try:尝试:
df1['column1'].explode().groupby().count()
or或者
df1.explode('column1').groupby('column1').count()
df.explode('Column1').groupby('Column1').size().reset_index(name='Column2')
Output: Output:
Column1 Column2
0 A 4
1 B 3
2 C 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.