我正在使用influxdb
Python库来获取我的数据库中的系列列表。大约有20k系列。然后我尝试在系列中构建Pandas
dataframe
。我正在考虑15S(我想摆脱纳秒,我想知道为什么在所有版本I'中都缺少关于InfluxDB的Python库记录的get_list_series()
电话。尝试过,但那些是其他问题......);我想最终得到一个大数据框架。
以下是代码:
from influxdb import DataFrameClient
.... get series list ...
temp_df = pd.DataFrame()
for series in series_list:
df = dfclient.query('select time,temp from {} where "series" = \'{}\''.format(location, temp))[location].asfreq('15S')
df.columns = [series]
if temp_df.empty:
temp_df = df
else:
temp_df = temp_df.join(df, how='outer')
这开始很好,但在几百个系列之后,快速减速,几乎停止磨损。我确信我没有以正确的方式使用熊猫,我希望你能以正确的方式告诉我如何做到这一点。
为了它的价值,我在相对强大的硬件上运行它(这就是为什么我相信我这样做的方式不对。)
还有一件事:时间序列'对于我从InfluxDB中提取的每个系列可能与所有其他系列不同,这就是我使用join
的原因。我希望最终得到一个DF,每个系列都有一列,日期时间在索引中适当排序;加入就是这样。