如何在这个pandas语句中获取变量?

时间:2015-06-08 15:46:37

标签: python pandas string-formatting

我试图将新值附加到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)

如何在每个循环中动态地将新值放在附加系列中?

2 个答案:

答案 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]))

但不确定为什么需要转换为字符串。如果closetime是数字(或日期时间),您只需执行以下操作:

sClose = sClose.append(pd.Series(close,index=[time]))