python - 如何在 Pandas Python 中获得第二大值
问题描述
这是我的代码:
maxData = all_data.groupby(['Id'])[features].agg('max')
all_data = pd.merge(all_data, maxData.reset_index(), suffixes=["", "_max"], how='left', on=['Id'])
现在,我如何获取上述代码中的第二个最大值(groupBy Id),而不是获取最大值
解决方案
尝试使用nlargest
maxData = all_data.groupby(['Id'])[features].apply(lambda x:x.nlargest(2)[1]).reset_index(drop=True)
推荐阅读
- mysql - 检索由follows sql,mysql共享的其他用户帖子
- python - matplotlib 可重现图
- google-apps - 在开发者控制台中更新 android 内部测试应用
- xml - Odoo 11. 从 xml 导入
- python - pyspark - 如何删除所有重复的行(忽略某些列)而不留下任何重复的对?
- python - 如何在 python 中正确添加和递增整数字典值?
- powerbi - Power BI - 在另一条记录的时间范围内查找记录
- r - 从长到宽的数据重塑
- android - WorkManager beginUniqueWork 队列在第一次工作后没有被调用
- ios - 添加新对话框时的 Quickblox iOS 通知