到目前为止,数据框列的最大值

时间:2018-10-14 09:42:51

标签: python pandas dataframe

嗨,他有以下数据框(df)

       temp
0      10
1      23
2      12
5      24  

我试图实现:

       temp     max_so_far
0      10      10
1      23      23
2      12      23
5      24      24

我正在尝试使用:

df['max_so_far'] = df.temp.rolling(window= df.index).max
df['max_so_far'] = df.temp.rolling(window= df.index.astype(int)).max

但是我总是得到一个错误,那就是窗口必须是整数。任何建议如何解决这个问题

谢谢

2 个答案:

答案 0 :(得分:1)

您也可以使用pd.Series.cummax()代替滚动窗口:

print(df.temp.cummax())
0    10
1    23
2    23
5    24

答案 1 :(得分:1)

2的身份尝试,然后添加fillna

df['max_so_far'] = df.temp.rolling(window= 2).max().fillna(df.temp[0])

除Jan的答案外,分配:

df['max_so_far']=df.temp.cummax()

两种情况:

print(df)

返回:

   temp  max_so_far
0    10        10.0
1    23        23.0
2    12        23.0
5    24        24.0