pandas 按数据框中的两列计算平均值

g9icjywg  于 2023-02-11  发布在  其他
关注(0)|答案(1)|浏览(172)

给定下面的df摘录,我如何计算每个SelectionId每个MarketId的平均概率?
我以为这会奏效,但它没有:

df.groupby(['MarketId', 'SelectionId', ], as_index=False)['Prob'].mean()

示例df:-
| | 时间|市场ID|选择ID|概率|
| - ------|- ------|- ------|- ------|- ------|
| 无|2016年6月1日19:58:01|一、一二二一一七六九|小行星56343|三、三|
| 1个|2016年6月1日19:58:01|一、一二二一一七六九|小行星47999|二点三四分|
| 第二章|2016年6月1日19:58:01|一、一二二一一七六九|小行星588|三、八|
| 三个|2016年6月1日19:59:01|一、一二二一一七六九|小行星56343|三、二|
| 四个|2016年6月1日19:59:01|一、一二二一一七六九|小行星47999|二、三|
| 五个|2016年6月1日19:59:01|一、一二二一一七六九|小行星588|三、八|
| 六个|2016年6月1日20:00:01|一、一二二一一七六九|小行星56343|三、二|
| 七|2016年6月1日20:00:01|一、一二二一一七六九|小行星47999|二点三四分|
| 八个|2016年6月1日20:00:01|一、一二二一一七六九|小行星588|三、八|
| 九|2016年6月15日18时59分43秒|1.122271208美元|二十四|一点二五|
| 十个|2016年6月15日18时59分43秒|1.122271208美元|小行星15285|十九|
| 十一|2016年6月15日18时59分43秒|1.122271208美元|小行星588|六、六|
| 十二|2016年6月15日19:01:43|1.122271208美元|二十四|一点二六|
| 十三|2016年6月15日19:01:43|1.122271208美元|小行星15285|十八|
| 十四|2016年6月15日19:01:43|1.122271208美元|小行星588|六、八|
| 十五|2016年6月15日19:02:43|1.122271208美元|二十四|一点二十七分|
| 十六|2016年6月15日19:02:43|1.122271208美元|小行星15285|十九|
| 十七|2016年6月15日19:02:43|1.122271208美元|小行星588|六、六|

所需df:

| | 市场ID|选择ID|概率|
| - ------|- ------|- ------|- ------|
| 无|一、一二二一一七六九|小行星56343|三点二三三|
| 1个|一、一二二一一七六九|小行星47999|二点三二六|
| 第二章|一、一二二一一七六九|小行星588|三、八|
| 三个|1.122271208美元|二十四|一点二六|
| 四个|1.122271208美元|小行星15285|十八点六六七|
| 五个|1.122271208美元|小行星588|六点六六七|

6l7fqoea

6l7fqoea1#

列列表中逗号太多,需要使用reset_inde()

df.groupby(['MarketId', 'SelectionId'])['Prob'].mean().reset_index()

好吧,只是逗号.

相关问题