我有一个包含一列“ A”(数值)的数据框,我能够使用以下命令检查该列是否单调递减 df ['A']。is_monotonic_decreasing
df['A']
5
4
3
6
2
我想使列单调递减。
df['A']
5
4
3
3
2
我要使用蛮力方法
min = df['A'][0]
for index,value in df['A'].iteritems():
if value <= min:
min = value
else:
df['A'][index] = min
答案 0 :(得分:3)
在列数据上使用np.minimum.accumulate
-
In [204]: df
Out[204]:
A
0 5
1 4
2 3
3 6
4 2
In [207]: df['A'] = np.minimum.accumulate(df['A'])
In [208]: df
Out[208]:
A
0 5
1 4
2 3
3 3
4 2
或使用out
参数进行就地编辑-
np.minimum.accumulate(df['A'],out=df['A'].to_numpy(copy=False))