python - PANDAS - 使用 2 个变量列计算和存储值
问题描述
我正在努力解决一个问题,但我什至知道如何思考。我有以下输出:
1 JJAT 36.0
2 JJEL 28.5
3 JJEL 36.0
4 JJEL 36.0
5 JJAA 30.0
6 JJEL 36.0
7 JJEL 22.5
我需要计算各自的数字,我想要的输出:
JJAT 36.0 1
JJEL 22.5 1
JJEL 28.5 1
JJEL 36.0 3
JJAA 30.0 1
输出可以是另一种格式。我尝试了 groupby 但它错过了相关性(带有数字和计数的名称)
解决方案
我冒昧地将列命名为name and val
输入DF
name val
0 JJAT 36.0
1 JJEL 28.5
2 JJEL 36.0
3 JJEL 36.0
4 JJAA 30.0
5 JJEL 36.0
6 JJEL 22.5
代码
df.groupby(['name', 'val'], as_index=False).size()
输出
name val size
0 JJAA 30.0 1
1 JJAT 36.0 1
2 JJEL 22.5 1
3 JJEL 28.5 1
4 JJEL 36.0 3
输入df创建
d="""name,val
JJAT,36.0
JJEL,28.5
JJEL,36.0
JJEL,36.0
JJAA,30.0
JJEL,36.0
JJEL,22.5"""
df=pd.read_csv(StringIO(d))
df
推荐阅读
- reactjs - 无法使用 sinon 从“复制到剪贴板”测试副本
- css - 如何使用 CSS 删除单词
- spring - Eureka 是在 8761 还是 8080 上运行?
- python - 递归数独求解器不解决任何问题
- excel - 电源查询 Excel 循环日期
- python - 为什么 kivy 的小部件的大小不是真实的?
- django - 为什么我无法对现有的 postgres 数据库表执行 SQL 查询?
- arrays - 评估列表列表中的行长和维度
- c# - 在任何文本框中的任何更改上更新过滤器和 DataGrid
- javascript - 在直接从 IDE 运行时,如何禁止我的电子向协议处理程序注册?