python - 查找每个类别的最大值的名称
问题描述
我有一个 groupby 对象,它显示了不同汽车品牌的品牌总价格和状态:
grouped_a = cars_data.groupby(['brand','state'])
grouped_a['price'].sum()
我可以使用什么函数返回与每个州最高总价相关的品牌?我试过循环遍历 groupby 对象,但它不起作用。
解决方案
idxmax()
为您提供具有最大值的行索引。
>>> cars_data
price state brand
0 10 emergency on
1 20 emergency ing
2 15 trance on
3 12 trance ing
>>> max_price_rows = cars_data.groupby(['state'])['price'].idxmax()
>>> max_price_rows
state
emergency 1
trance 2
Name: price, dtype: int64
所以第 1 行和第 2 行,即价格20
和15
。
如果您想要每个状态的最大值,则将该结果传递给.loc[]
:
>>> cars_data.loc[max_price_rows]
price state brand
1 20 emergency ing
2 15 trance on
推荐阅读
- reactjs - 材质 ui 输入基础自动对焦不起作用
- sql - 全部来自第二张桌子中的一张桌子
- excel - Excel从日期中删除时间戳并减去天数
- flutter - 如何在颤振中添加条件
- java - Css不在速度模板中呈现(JAVA)
- java - 如何使用 selenium/katalon 在 ag-grid 表中更快地滚动?
- python - Pandas 中带有频率数据的 OD 矩阵
- java - Jacoco 代码覆盖率 - 某些类未出现在报告中
- reactjs - React Babel/Jest 初始设置
- android - 模拟器中Android APP的appium自动测试密码输入,但xml文件中缺少密码输入字段