population = pd.DataFrame({'village': pd.Series([15,4,1,2], index=['boys','girls','men','women']),
'town': pd.Series([20,36,26,28], index=['boys','girls', 'men', 'women'])})
输出:
---- town village
boys 20 15
girls 36 4
men 26 1
women 28 2
对于上面数据框中的任何索引,我希望该特定索引值是前两个索引值之间的最小值。
例如,我希望镇上的男人的价值是20,因为它是(36,20)之间的较小值
我尝试使用df.shift(2).cummin(axis=0)
实现它,但这没用。
预期输出:
---- town village
boys NaN NaN
girls NaN NaN
men 20 4
women 26 1
答案 0 :(得分:1)
正如@Zero所说,因此您可以将其标记为已回答,可以使用:
population.shift(1).rolling(2).min()