Skip to main content
 首页 » 编程设计

python Pandas : sum item occurences in a string list by item substring

2025年05月04日24cmt

我有这个字符串列表:

list = ['a.xxx', 'b.yyy', 'c.zzz', 'a.yyy', 'b.xxx', 'a.www'] 

我想通过 item.split('.')[0] 来计算项目的出现次数。

需要的东西:

a 3 
b 2 
c 1 

请您参考如下方法:

设置
我不喜欢给内置类的变量名赋值

l = ['a.xxx', 'b.yyy', 'c.zzz', 'a.yyy', 'b.xxx', 'a.www'] 

选项 1

pd.value_counts(pd.Series(l).str.split('.').str[0]) 

选项 2

pd.value_counts([x.split('.', 1)[0] for x in l]) 

选项 3
将 Counter 包装在 pd.Series

中
pd.Series(Counter([x.split('.', 1)[0] for x in l])) 

选项 4

pd.Series(l).apply(lambda x: x.split('.', 1)[0]).value_counts() 

选项 5
使用查找

pd.value_counts([x[:x.find('.')] for x in l]) 

所有产量

a    3 
b    2 
c    1 
dtype: int64