我试图将新值附加到while循环中的pandas系列中。
但我在字符串格式化方面遇到语法错误......
import pandas as pd
sClose = pd.Series()
close = history['candles'][0]['closeMid']
time = history['candles'][0]['time']
sClose = s.Close.append(pd.Series(%s,index=[%s]))% (close, time)
如何在每个循环中动态地将新值放在附加系列中?
答案 0 :(得分:2)
由于%s
仅在带引号的字符串中使用('字符串'格式化),您可以直接在最终语句中使用变量名称,而不是使用元变量来保存该位置。
sClose = s.Close.append(pd.Series(close,index=[time]))
答案 1 :(得分:2)
您应该使用%s
周围的引号。
这样的事情可以解决问题:
close_str = '%s' % (close, )
time_str = '%s' % (time, )
sClose = sClose.append(pd.Series(close_str,index=[time_str]))
但不确定为什么需要转换为字符串。如果close
和time
是数字(或日期时间),您只需执行以下操作:
sClose = sClose.append(pd.Series(close,index=[time]))