date balance
2020-03-31 1000
2020-03-31 900
2020-03-31 800
2020-03-31 700
2020-03-31 200
2020-03-31 100
....
2020-03-31 20
2020-03-31 1
2020-03-31 0.3
....
2020-06-30 3420
2020-06-30 3000
2020-06-30 2000
....
2020-06-30 30
2020-06-30 3
....
2020-09-30 10000
2020-09-30 3000
..
2020-09-30 3
我想按日期對屬于最大 1% 百分位數的值進行分組。我用了
book2 = book.groupby(['date'])['balance'].agg([lambda x : np.quantile(x, q=0.99), "sum"])
但這給了我一個奇怪的價值......知道如何解決這個問題嗎?謝謝!
uj5u.com熱心網友回復:
搜索前 1% 以上的所有值,然后對每個日期求和:
df.groupby('date')['balance'].apply(lambda x: x[x >= np.quantile(x, q=0.99)].sum())
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/446254.html
