python - 在数据框列中分离出逗号分隔的项目并获取单独的计数
问题描述
我有一个包含多个逗号分隔值的列的数据框:
一个 |
---|
A B C D |
一个,c |
b, d |
b, d |
c, d |
我希望将列中每个逗号分隔值的计数作为数据框,如下所示:
一个 | 数数 |
---|---|
一个 | 2 |
b | 3 |
C | 3 |
d | 4 |
熊猫有没有直接的方法来实现这一点?
我目前已经解析了 A 列以获取 A 中唯一项目的列表。然后通过再次解析该列并检查单个单元格中是否存在项目来再次创建字典。
解决方案
您可以这样做 (i) 将字符串拆分为可迭代对象,(ii) 将可迭代对象分解为单独的行,(iii) 计算值:
import pandas as pd
df = pd.DataFrame({'A': {0: 'a, b, c, d', 1: 'a, c', 2: 'b, d', 3: 'b, d', 4: 'c, d'}})
df['A'].str.split(', ').explode().value_counts()
d 4
c 3
b 3
a 2
推荐阅读
- jquery - HTML5,JQuery - 从移动设备捕获图像并保存?
- javascript - 在base64中转换文件
- c# - 如何在结束标签之前搜索一些标点符号?
- spring - Spring Cloud 数据流外壳:卡在“正在部署流”
- oracle-sqldeveloper - 我如何在 Oracle sql developer 中输入行数
- python - python:编写一个程序,不断从用户那里读取正数
- php - 如何检查来自动态 url 请求 php 的数据
- docker - Docker 容器 IP 172.17.XXX 无法从 Windows 主机 192.168.XX 访问
- python - 为什么 C++ 运行速度比 Python 慢?
- java - Neo4j:通过 Java API 或 Cypher 进行显式悲观锁定