使用 Pandas Groupby 和多行

Working with Pandas Groupby and multiple rows

我到处搜索并尽我所能,但无法从我的数据中得到我想要的东西。

背景:

我有一组从发票数据中导出的数据。我已经修改了这些数据,以达到我拥有一个由六列组成的 pandas 数据框的程度。这些列(示例数据如下):

数据样本可以在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'])