Я использую Influx DataFrameClient в python для получения данных:
from influxdb import DataFrameClient
cli = DataFrameClient(host='localhost',port = 8086,database='rahul')
q= cli.query('select * from cpu')
print(q)
Но запрос извлекает данные в формате dict
с большим количеством неправильного сдвига заголовка (что меня удивило):
defaultdict(<type 'list'>, {u'cpu': host region value
2018-05-26 10:14:03.151530998+00:00 serverA us_west 0.64
2018-05-26 10:20:08.584895220+00:00 serverB us_east 0.74
2018-05-26 10:21:53.594648689+00:00 serverC us_north 0.84
2018-05-26 10:22:03.750544189+00:00 serverC us_south 0.91
2018-05-26 10:22:22.360371835+00:00 serverA us_north 0.10
2018-05-26 10:30:19.126093956+00:00 serverB us_east 0.19
2018-05-26 10:30:36.509174972+00:00 serverA us_north 0.21
2018-05-26 10:30:52.672447701+00:00 serverB us_west 0.81})
Я попытался сделать pandas.DataFrame(q)
для преобразования запрашиваемых данных в dataFrame, но не сработал.
Итак, как я могу построить график, скажем, date
по сравнению с данными value
, и что, если требуются манипуляции с данными, как применить pandas
для манипуляций?
Есть ли способ преобразовать эти запрошенные данные в dataFrame с помощью pandas и, следовательно, манипулировать для их визуализации?
DataFrameClient возвращает Словарь DataFrames с именами измерений в качестве ключей.
Если вы используете q["cpu"]
, это должно дать вам ваш Dataframe с правильным заголовком, и вы можете делать с ним все, что захотите.