首页 > 解决方案 > 计算列表熊猫数据框列中元素的出现次数

问题描述

我有一个包含一列字符串列表的数据框,我想查找该列中字符串的出现次数。

IE

         samples  subject  trial_num
0    ['aa','bb']        1          1
1    ['bb','cc']        1          2

我想为 'bb' 获得 2 为 'aa' 和 'cc' 获得 1

标签: pythonpandas

解决方案


利用:

df['samples'].explode().value_counts().to_dict()
#{'bb': 2, 'aa': 1, 'cc': 1}

或没有explode

pd.Series(np.concatenate(df['samples'])).value_counts().to_dict()
#{'bb': 2, 'aa': 1, 'cc': 1}

仅使用numpy的解决方案

dict(zip(*np.unique(np.concatenate(df['samples']), return_counts=True)))
#{'bb': 2, 'aa': 1, 'cc': 1}

推荐阅读