Python 如果不是,如何使列单调递减?
我有一个包含列“a”(数值)的数据帧,我可以使用 df['A']是单调递减的吗Python 如果不是,如何使列单调递减?,python,pandas,numpy,Python,Pandas,Numpy,我有一个包含列“a”(数值)的数据帧,我可以使用 df['A']是单调递减的吗 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']
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
min=df['A'][0]
对于索引,使用df['A']中的值。iteritems():
如果值用于列数据-
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
param进行就地编辑-
np.minimum.accumulate(df['A'],out=df['A'].to_numpy(copy=False))
这正是我想要的,谢谢