使用 Pandas Groupby 和多行
Working with Pandas Groupby and multiple rows
我到处搜索并尽我所能,但无法从我的数据中得到我想要的东西。
背景:
我有一组从发票数据中导出的数据。我已经修改了这些数据,以达到我拥有一个由六列组成的 pandas 数据框的程度。这些列(示例数据如下):
- Project_ID - 项目的 ID
- Project_Type - 在项目中执行的工作的类型。
- 创建日期 - 项目的创建日期(项目启动时)
- 发票日期 - 为
生成发票的日期
- 项目年龄 - 每张发票的年龄(从项目启动日期开始计算)
数据样本可以在this CSV file中找到。
每个项目可以有多个发票,这就是导致我出现问题的原因。
我想做的事情:
按项目类型汇总并获取每个项目类型的 "Age" 的最小值、最大值、平均值和标准差。我认为这将是一个使用 Project_Type 列的简单 groupby,但我无法让 min、max、mean、std 函数在应用于该 groupby 时起作用。
我确定这是一个简单的问题,但我发现没有任何问题能为我解决。
感谢任何帮助或指点。
数据样本:
Project_ID Project_Type Create_Date Invoice_Dates Age
25098 Computers 1/11/12 0:00 2/6/12 0:00 26 days
25098 Computers 1/11/12 0:00 2/29/12 0:00 49 days
25113 Telecom 1/12/12 0:00 4/30/12 0:00 109 days
25113 Telecom 1/12/12 0:00 6/30/12 0:00 170 days
埃里克,我没有下载你的文件,但我试了一下。我会 post 你问题的前几行,这样我们就不必下载了。
是的,groupby() 是个不错的选择。您可以在这样的列表中指定聚合函数
df[['Project_Type','Project Age']].groupby('Project_Type').agg(['min',
'max',
'mean',
'std'])
我到处搜索并尽我所能,但无法从我的数据中得到我想要的东西。
背景:
我有一组从发票数据中导出的数据。我已经修改了这些数据,以达到我拥有一个由六列组成的 pandas 数据框的程度。这些列(示例数据如下):
- Project_ID - 项目的 ID
- Project_Type - 在项目中执行的工作的类型。
- 创建日期 - 项目的创建日期(项目启动时)
- 发票日期 - 为 生成发票的日期
- 项目年龄 - 每张发票的年龄(从项目启动日期开始计算)
数据样本可以在this CSV file中找到。
每个项目可以有多个发票,这就是导致我出现问题的原因。
我想做的事情:
按项目类型汇总并获取每个项目类型的 "Age" 的最小值、最大值、平均值和标准差。我认为这将是一个使用 Project_Type 列的简单 groupby,但我无法让 min、max、mean、std 函数在应用于该 groupby 时起作用。
我确定这是一个简单的问题,但我发现没有任何问题能为我解决。
感谢任何帮助或指点。
数据样本:
Project_ID Project_Type Create_Date Invoice_Dates Age
25098 Computers 1/11/12 0:00 2/6/12 0:00 26 days
25098 Computers 1/11/12 0:00 2/29/12 0:00 49 days
25113 Telecom 1/12/12 0:00 4/30/12 0:00 109 days
25113 Telecom 1/12/12 0:00 6/30/12 0:00 170 days
埃里克,我没有下载你的文件,但我试了一下。我会 post 你问题的前几行,这样我们就不必下载了。
是的,groupby() 是个不错的选择。您可以在这样的列表中指定聚合函数
df[['Project_Type','Project Age']].groupby('Project_Type').agg(['min',
'max',
'mean',
'std'])