【发布时间】:2016-09-18 06:26:34
【问题描述】:
我想从聚合函数创建一个数据框。我认为它会按照该解决方案的说明默认创建一个数据框,但它会创建一个系列,我不知道为什么 (Converting a Pandas GroupBy object to DataFrame)。
数据框来自 Kaggle 的 San Francisco Salaries。我的代码:
df=pd.read_csv('Salaries.csv')
in: type(df)
out: pandas.core.frame.DataFrame
in: df.head()
out: EmployeeName JobTitle TotalPay TotalPayBenefits Year Status 2BasePay 2OvertimePay 2OtherPay 2Benefits 2Year
0 NATHANIEL FORD GENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY 567595.43 567595.43 2011 NaN 167411.18 0.00 400184.25 NaN 2011-01-01
1 GARY JIMENEZ CAPTAIN III (POLICE DEPARTMENT) 538909.28 538909.28 2011 NaN 155966.02 245131.88 137811.38 NaN 2011-01-01
2 ALBERT PARDINI CAPTAIN III (POLICE DEPARTMENT) 335279.91 335279.91 2011 NaN 212739.13 106088.18 16452.60 NaN 2011-01-01
3 CHRISTOPHER CHONG WIRE ROPE CABLE MAINTENANCE MECHANIC 332343.61 332343.61 2011 NaN 77916.00 56120.71 198306.90 NaN 2011-01-01
4 PATRICK GARDNER DEPUTY CHIEF OF DEPARTMENT,(FIRE DEPARTMENT) 326373.19 326373.19 2011 NaN 134401.60 9737.00 182234.59 NaN 2011-01-01
in: df2=df.groupby(['JobTitle'])['TotalPay'].mean()
type(df2)
out: pandas.core.series.Series
我希望 df2 成为包含“JobTitle”和“TotalPlay”列的数据框
【问题讨论】:
-
如果您在该代码中包含代码示例和一些数据会有所帮助。
-
好的,代码和数据已添加
-
我所说的“数据”是指,如果您读取了一些复制粘贴代码,其中包括创建数据,则更有可能有人会帮助修改它。我无法对您的帖子执行 df.groupby :-)
-
我很感激,尽管 piRSquared 已经用他的回答完美地钉住了它:)
-
是的,他做到了。但总有一些东西可以为下一个问题学习;-)
标签: python pandas dataframe aggregate-functions series