python-3.x - 在数据框中查找字符串的计数(由分隔符分隔)?
问题描述
我有这个数据框。
df
userId movieId rating genres
0 41 97921 4.0 Comedy|Drama|Sci-Fi
1 47 97921 3.5 Comedy|Drama|Sci-Fi
2 594 539 5.0 Comedy|Drama|Romance|Adventure
3 4 539 5.0 Comedy|Drama|Romance|Adventure
4 113 1733 4.0 Drama|Romance
5 594 1733 5.0 Drama|Romance
我也有所有流派的列表:
genres = ['Comedy','Drama','Romance','Action','Adventure','Sci-Fi','Thriller','Crime',\
'Animation','Children','Musical','Film-Noir','Fantasy','War','Mystery','IMAX',\
'Horror','Western','Documentary' ]
我想计算数据框中的每种类型。
Expected Output:
Comedy :4
Drama :6
Sci-Fi: 2
Romance: 2
Adventure: 2
解决方案
您可以使用:
df['genres'].str.split('|').explode().value_counts().to_dict() #requires pandas 0.25+
#{'Drama': 6, 'Comedy': 4, 'Romance': 4, 'Sci-Fi': 2, 'Adventure': 2}
或者:
df['genres'].str.get_dummies().sum().to_dict()
#{'Adventure': 2, 'Comedy': 4, 'Drama': 6, 'Romance': 4, 'Sci-Fi': 2}
推荐阅读
- javascript - Javascript 如何知道何时隐式执行通过引用传递的函数?反应示例
- angular - 引导错误验证错误颜色(红色)未显示
- c++ - 隐式转换和运算符重载
- database - 如何登录 LBACSYS 用户?
- mysql - MySql - 加入 - 加入同一个表两次
- networking - HDLC 协议中的 REJECT 和 SELECTIVE REJECT 有什么区别?
- python - 根据另一个字符串向字符串添加符号
- javascript - jQuery Selector 将值设置为同名的特定文本输入字段
- javascript - javascript复制多个对象并按顺序增加索引
- mysql - 搜索方括号内的文本和语音标记 SQL