作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图概括我提出的问题 here .
mlb
数据框看起来像
Player Position Salary Year
0 Mike Witt Pitcher 1400000 1988
1 George Hendrick Outfielder 989333 1988
2 Chili Davis Outfielder 950000 1988
3 Brian Downing Designated Hitter 900000 1988
4 Bob Boone Catcher 883000 1988
5 Bob Boone Catcher 883000 1989
6 Frank Smith Catcher 993000 1988
7 Frank Smith Pitcher 1300000 1989
请注意,同一位球员可能会在不同年份多次被列出。我正在尝试找到每个位置的总薪水最高的球员。输出应该类似于:
Position Player Salary
0 Pitcher Mike Witt 1400000
1 Outfielder George Hendrick 989333
2 Brian Downing Designated Hitter 900000
3 Catcher Bob Boone 1766000
我想我需要做一些事情,比如按位置分组,然后按球员分组,然后对每个球员求和并找到最大值。但我在做这件事时遇到了麻烦。
一旦我执行positions = mlb.groupby("Position")
,我就无法执行下一步。我认为 Player 的嵌套 groupby 是必要的,但我不知道如何继续。
最佳答案
这很困惑,但完成了工作。
df = pd.DataFrame({'Player':['Mike Witt','George Hendrick','Chili Davis','Brian Downing','Bob Boone','Bob Boone'],
'Position':['Pitcher','Outfielder','Outfielder','Designated Hitter','Catcher','Catcher'],
'Salary':[1400000,989333, 950000,900000,883000,900000],
'Year':[1988,1988,1988,1988,1988,1988]})
gp = df.groupby(['Player','Position']).sum()['Salary'].to_frame().reset_index()
gp.sort('Salary',ascending=False).drop_duplicates('Position')
或者
gp.groupby('Position').max()
就像 @dawg 提到的那样,这本质上会将具有多个位置的球员视为不同的球员,因此他们每个位置的薪水如下所示。
Player Position Salary
0 Bob Boone Catcher 1783000
4 Mike Witt Pitcher 1400000
3 George Hendrick Outfielder 989333
1 Brian Downing Designated Hitter 900000
关于python - Pandas 数据帧 : How to groupby on a groupby?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29379898/
我是一名优秀的程序员,十分优秀!