我有这个功能可以很好地计算我需要的东西,但问题是,当我尝试将它保存到csv时,它是删除我之前计算的所有df ...请帮助
dc = {'A':df['RSI']}
df = pd.DataFrame(dc)
print df
def func(row):
if (row[['A']] > 70).all():
return -1
elif (row[['A']] < 30).all():
return 1
else:
return 0
df['D'] = df.apply(func, axis = 1)
答案 0 :(得分:0)
您似乎在大多数编程语言中都希望append&#34;写&#34;在写任何东西之前,也会将文件截断为零长度。
答案 1 :(得分:0)
如果使用pandas.DataFrame.to_csv(your_arguments)
编写文件,则默认模式参数为“w”,将使用新数据覆盖文件。请改为使用pandas.DataFrame.to_csv(your_arguments, mode='a')
代替。
使用简单的python是一样的:
with open(filename, 'w') as f:
将覆盖文件
with open(filename, 'a') as f:
会将新行追加到现有文件中。
答案 2 :(得分:0)
更新:我已经设法使用这样的数组来解决问题:
field = []
field = pd.DataFrame(dc)
field = field.apply(func, axis = 1)
df['solution'] = pd.DataFrame(field)