Python 未来最小数据帧
我在Pandas数据帧中有一个时间序列,我想为它添加一个具有(未来)最小值的新列。具体来说,假设我的时间序列中有以下值:Python 未来最小数据帧,python,pandas,numpy,minimum,Python,Pandas,Numpy,Minimum,我在Pandas数据帧中有一个时间序列,我想为它添加一个具有(未来)最小值的新列。具体来说,假设我的时间序列中有以下值: VAL 1 0 4 3 2 3 4 我想找到“向前看”的最小值。例如,前两个值的最小值为0,接下来三个值的最小值为2(不再考虑0,因为即使它是总体最小值,它已经在过去),然后是3,最后是4 VAL MIN 1 0 0 0 4 2 3 2 2 2 3 3 4 4 你知道
VAL
1
0
4
3
2
3
4
我想找到“向前看”的最小值。例如,前两个值的最小值为0,接下来三个值的最小值为2(不再考虑0,因为即使它是总体最小值,它已经在过去),然后是3,最后是4
VAL MIN
1 0
0 0
4 2
3 2
2 2
3 3
4 4
你知道我怎样才能在熊猫和小矮人身上有效地做到这一点吗?谢谢 翻转它,使用,翻转回来-
In [252]: df['MIN'] = np.minimum.accumulate(df['VAL'][::-1])[::-1]
In [253]: df
Out[253]:
VAL MIN
0 1 0
1 0 0
2 4 2
3 3 2
4 2 2
5 3 3
6 4 4
使用
我们可以使用
展开和min
df['New']=df.VAL.iloc[::-1].expanding(min_periods=1).min()
VAL MIN
0 1 0
1 0 0
2 4 2
3 3 2
4 2 2
5 3 3
6 4 4
df['New']=df.VAL.iloc[::-1].expanding(min_periods=1).min()