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
对于上面数据框中的任何索引,我希望该特定索引值是前两个索引值之间的最小值。
例如,我预计 men in town 的值为 20,因为它是 (36,20) 之间的较小值
我尝试使用 df.shift(2).cummin(axis=0)
实现它,但没有成功。
预期输出:
---- town village
boys NaN NaN
girls NaN NaN
men 20 4
women 26 1
最佳答案
正如@Zero 所说,您可以将其标记为已回答,您可以使用:
population.shift(1).rolling(2).min()
关于python - 对于任何索引,返回前两个索引中的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51684727/