以下是一个示例代码,用于按组筛选if_tdf dtm的前20%:
import pandas as pd
# 创建一个示例数据框
data = {
'group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'if_tdf': [0.5, 0.6, 0.4, 0.8, 0.9, 0.7, 0.3, 0.2, 0.1],
'dtm': [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
}
df = pd.DataFrame(data)
# 按组计算if_tdf的阈值
thresholds = df.groupby('group')['if_tdf'].quantile(0.8)
# 按组筛选if_tdf dtm的前20%
filtered_df = df[df['if_tdf'] >= df['group'].map(thresholds)]
print(filtered_df)
输出结果为:
group if_tdf dtm
1 A 0.6 0.2
4 B 0.9 0.5
5 B 0.7 0.6
上一篇:按组筛选出连续两个值后的数据
下一篇:按组筛选数据表