python - Pandas groupby 键然后根据组和返回键进行过滤
问题描述
熊猫做以下的方式是什么?
data.groupby('id').duration.max().index[data.groupby('id').duration.max() > 365]
我不想按 id 分组,然后使用组过滤并返回条件为真的 id。
使用 group.filter 函数返回原始数据帧。
解决方案
您可以重写您的代码 - 它是从聚合函数调用boolean indexing
的,并且:Series
max
index
s = data.groupby('id').duration.max()
idx = s.index[s > 365]
#alternative
#idx = s[s > 365].index
您还可以检查过滤后的值Series
:
print(s[s > 365])
但是,如果要按每个组DataFrame
的值过滤原始值,则添加与原始值相同的返回值:max
GroupBy.transform
Series
DataFrame
data[data.groupby('id').duration.transform('max') > 365]
推荐阅读
- html - 如何修复“Stray end tag head”。和“看到开始标签主体,但已打开相同类型的元素。” 在 HTML 中
- botframework - 如何修复 [err-client] Uncaught TypeError: Cannot create property 'firstName' on string 'one'
- agora.io - 一对一用户在agora视频通话期间无法看到对方
- php - 在 PHP 的未来版本中,与其类同名的方法将不再是构造函数;mPDF 有一个不推荐使用的构造函数
- java - 为什么这个 gson 函数会保存一个空白文件?
- python - 我在我的 django 模型中添加位置字段它显示错误
- django - 如何在 django 中设置 ftp
- dropwizard - 对 dropwizard 应用程序以及 BigtableClientMetrics 使用单个 dropwizard MetricRegistry
- google-app-engine - 来自 Google Cloud Storage 问题的 Google Cloud App Engine 下载对象
- php - (SQL)获取用户和朋友在2个不同表中的朋友