python - 如何在熊猫数据框中选择最小值也保存我的字符串数据
问题描述
我有一个熊猫数据框,列是字符串和值,如果我使用'groupby',我会丢失我的数据,如何编写代码来保存我的数据?
print(df)
tconst title bool id pair
t01 Blow True 1 1
t02 Blow False 1 4
t03 Fast TRUE 2 2
t04 Fast FALSE 2 2
t05 Storm True 3 9
如果遇到相同的'id',我想在'pair'处选择最小值(例如:id = 1),如果遇到相同的'id'但'pair'值相同,我想保存所有它们(例如:id =2)。
out:
tconst title bool id pair
t01 Blow True 1 1
t03 Fast TRUE 2 2
t04 Fast FALSE 2 2
t05 Storm True 3 9
解决方案
使用, groupby
, transform
withmin
来查找组内的最小值,然后创建一个布尔系列来进行布尔索引:
df[df['pair'] == df.groupby('id')['pair'].transform('min')]
输出:
tconst title bool id pair
0 t01 Blow True 1 1
2 t03 Fast True 2 2
3 t04 Fast False 2 2
4 t05 Storm True 3 9
推荐阅读
- html - 我需要从网络链接(它是运输标签)中获取 PDF 并将其显示在 HTML 页面上并能够打印出来
- javascript - 在 Javascript 中为 Web 应用程序生成日志
- javascript - 在反应原生 iOS/Android 中实现日期范围过滤器时遇到问题
- reactjs - RaFormInput 宽度似乎总是 256px
- c# - 如何在WEB API中返回数据后添加状态名称:成功和消息?
- wpf - 现代WPFUI + powershell = System.Windows.Markup.StaticResourceHolder
- internationalization - 如何在 SAPUI5 上的 i18n.properties 文件中包含 .properties 文件?
- api - 在 POSTMAN 中保护生产 API 的客户端机密和客户端 ID
- sql - Clickhouse,创建十进制类型的字典
- excel - Excel VBA 宏中的多个运行时错误以在两张工作表之间发送数据