У меня есть pandas DataFrame с тремя столбцами:
x = [4,2,4,-4,-80,1]
y = [1,2,3,-10,50,1]
z = [3,4,-1,-3,0,-1]
df = pd.DataFrame({'x': x,'y': y, 'z':z})
И мне нужно создать функцию, которая возвращает максимальное значение, достигнутое накопительной функцией max. Чтобы сделать это, я пытаюсь:
def get_max(DataFrame):
DataFrame['CumSum'] = DataFrame.cumsum()
print(max(DataFrame['CumSum']))
Если я применяю эту функцию в первый раз, написав, например:
get_max(df['x'] )
, она работает правильно и возвращает 10, но если я пытаюсь применить его во второй раз для df ['x'], я получаю ошибку: ValueError: Истинное значение Series является неоднозначным. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().
Не уверен насчет ошибки, я думаю, что возможно, проблема возникает из-за того, что я пытаюсь создать новый столбец, который уже был создан в этой строке:
DataFrame['CumSum'] = DataFrame.cumsum()
Буду признателен, если кто-нибудь скажет мне, есть ли способ решить эту проблему.
Заранее большое спасибо.