python - 计算列表熊猫数据框列中元素的出现次数
问题描述
我有一个包含一列字符串列表的数据框,我想查找该列中字符串的出现次数。
IE
samples subject trial_num
0 ['aa','bb'] 1 1
1 ['bb','cc'] 1 2
我想为 'bb' 获得 2 为 'aa' 和 'cc' 获得 1
解决方案
利用:
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}
推荐阅读
- objective-c - iOS 13 用户的 NSNumberFormatter 忽略 setRoundingIncrement
- python - 如何在小数点后附加4个数字的浮点数?
- java - Intellij Idea 2019.2 更新后在 Intellij 中导入项目时没有下一个和上一个按钮
- php - 未发送来自表单的变量 $message 内容传递
- python - 使用 Python 从 excel 数据构建 XML
- javascript - 如何使用 for 循环将 Json 对象推送到 Json 数组?
- reactjs - 我在 componentDidUpdate 中的 prevProps 和 current props 是一样的,而我正在更新状态
- sql - 如何获取在开始和停止日期时间(SQL)(t-SQL)期间发生的活动状态
- java - 使用 JFrame 作为自定义输入框
- angular - Angular 5 如何创建 PDF URL?