看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)从以下名为 df 的 DataFrame 中筛选出列d中每组里满足列b大于列a的次数达到或超过2次的行。
import pandas as pd
df = pd.DataFrame({
'a': [10, 20, 30, 50, 50, 50, 4, 100],
'b': [30, 3, 200, 25, 24, 31, 29, 2],
'd': list('aaabbbcc')
})
df
'''
a b d
0 10 30 a
1 20 3 a
2 30 200 a
3 50 25 b
4 50 24 b
5 50 31 b
6 4 29 c
7 100 2 c
'''
以下为 Python 代码:
m = df['b'].gt(df['a'])
m
'''
0 True
1 False
2 True
3 False
4 False
5 False
6 True
7 False
dtype: bool
'''
df[m.groupby(df['d']).transform('sum').ge(2)]
'''
a b d
0 10 30 a
1 20 3 a
2 30 200 a
'''
查看相关链接中的知识。
(完)
更新时间:2024-11-07 20:34:25 标签:pandas python 分组 筛选