我有一个数据框,其中有一列字符串列表,我想查找该列中出现字符串的次数。
即
samples subject trial_num
0 ['aa','bb'] 1 1
1 ['bb','cc'] 1 2
我想获得2个“ bb”,1个获得“ aa”和“ cc”
答案 0 :(得分:2)
使用:
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}