假設(shè)有一個(gè)熊貓系列和一個(gè)標(biāo)記某些行的布爾掩碼。排除掩碼值,所有其他值按升序排序。如何將屏蔽值寫入后續(xù)行中,直到遇到具有更高值的行?我對(duì)僅使用布爾掩碼和 pandas.Series 方法而不是顯式處理行索引的解決方案特別感興趣。非常感謝!例子輸入:values = pd.Series([0.1, 0.15, 0.29, 0.22, 0.24, 0.3, 0.46, 0.5, 0.52, 0.55, 0.81, 0.67, 0.7, 0.81, 0.84, 0.91, 0.93, 0.98, 1.])
mask = pd.Series([False, False, True, False, False, False, False, False, False, False, True, False, False, True, False, False, False, False, False])輸出:values = pd.Series([0.1, 0.15, 0.29, 0.29, 0.29, 0.3, 0.46, 0.5, 0.52, 0.55, 0.81, 0.81, 0.81, 0.81, 0.84, 0.91, 0.93, 0.98, 1.])
1 回答

浮云間
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
pandas.Series有方法cummax:
values = pd.Series([0.1, 0.15, 0.29, 0.22, 0.24, 0.3, 0.46, 0.5, 0.52, 0.55, 0.81, 0.67, 0.7, 0.81, 0.84, 0.91, 0.93, 0.98, 1.])
values.cummax()
0 0.10
1 0.15
2 0.29
3 0.29
4 0.29
5 0.30
6 0.46
7 0.50
8 0.52
9 0.55
10 0.81
11 0.81
12 0.81
13 0.81
14 0.84
15 0.91
16 0.93
17 0.98
18 1.00
添加回答
舉報(bào)
0/150
提交
取消