在Pandas DataFrame中按字典分组(Group by a Dictionary in Pandas DataFrame)

编程入门 行业动态 更新时间:2024-10-26 22:22:13
在Pandas DataFrame中按字典分组(Group by a Dictionary in Pandas DataFrame)

我从excel文件中读取数据,它是这样的:

我想得到每个员工的Q1和Q2的总和,所以我创建了一个字典,并希望根据它进行分组,

import pandas as pd mb2 = pd.read_excel('C:\\Users\\IBM_ADMIN\\Desktop\\ml-1m\\工作簿1.xlsx', sheetname='Sheet3') mapping = {'Jan':'Q1','Feb':'Q1','Mar':'Q1','Apr':'Q2','May':'Q2','Jun':'Q2'} mb2.groupby(by=mapping,axis=1).sum()

如何显示字段名称? 我尝试这样做,但它不起作用:

mb2.groupby(by=(mapping,'Name'),axis=1).sum()

I read data from an excel file, it is like this:

and I want to get the sum of Q1 and Q2 for each employee, so I create a dictionary, and want to group by based on that,

import pandas as pd mb2 = pd.read_excel('C:\\Users\\IBM_ADMIN\\Desktop\\ml-1m\\工作簿1.xlsx', sheetname='Sheet3') mapping = {'Jan':'Q1','Feb':'Q1','Mar':'Q1','Apr':'Q2','May':'Q2','Jun':'Q2'} mb2.groupby(by=mapping,axis=1).sum()

How to show also the field Name? I try to do like this, but it didn't work:

mb2.groupby(by=(mapping,'Name'),axis=1).sum()

最满意答案

一个快速的解决方案是将生成的DataFrame保存在一个新变量(以下代码中的grouped_data )中,然后使用原始DataFrame为其分配Name列:

grouped_data = mb2.groupby(by=mapping,axis=1).sum() grouped_data['Name'] = mb2['Name'] print(grouped_data)

编辑:实现相同结果的另一种方法是修改mapping字典,向其添加"Name": "Name"对,并像以前一样调用mb2.groupby(by=mapping,axis=1).sum() 。

A quick solution is to save the resulting DataFrame in a new variable (grouped_data in the following code) and then assign the Name column to it using the original DataFrame:

grouped_data = mb2.groupby(by=mapping,axis=1).sum() grouped_data['Name'] = mb2['Name'] print(grouped_data)

EDIT: Another way of achieving the same result is to modify the mapping dictionary, adding a "Name": "Name" pair to it, and calling mb2.groupby(by=mapping,axis=1).sum() as before.

更多推荐

本文发布于:2023-08-08 01:05:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1466772.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字典   DataFrame   Pandas   Group   Dictionary

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!