我正在尝试创建一个新列,该列的值将是现有列中所有先前行的最小值。
例如: 这是我的数据框:
A nbr
0 AA 4
1 AB 5
2 AC 2
3 AD 5
4 AE 3
5 AF 6
6 AG 1
7 AH 4
我正在尝试使用nbr列添加新列'nbr_min'。
因此nbr_min的第一行为4,因为这是他的第一行,最小值4为4。
第二行是4和5的最小值,即4。
第三行的最小值为4,5和2,即2。
等等...
最终结果应如下所示。
我很难用python(使用pandas)来做到这一点。任何帮助将不胜感激。 我非常接近得出的结论是,python无法做到这一点。因此,也欢迎采用任何其他方式的解决方案。
。
答案 0 :(得分:1)
df['nbr_min']=df.nbr.expanding().min()
或者:
df['nbr_min']=df.nbr.cummin()
print(df)
A nbr nbr_min
0 AA 4 4
1 AB 5 4
2 AC 2 2
3 AD 5 2
4 AE 3 2
5 AF 6 2
6 AG 1 1
7 AH 4 1