【问题标题】:Export InfluxDB measurement to Pandas Dataframe with tags as it's own columns将 InfluxDB 测量结果导出到带有标签的 Pandas Dataframe 作为它自己的列
【发布时间】:2020-05-28 18:39:38
【问题描述】:

我对 Python 比较陌生,我有一个 InfluxDB 查询,我想将它设置为 pandas 数据框。但是,输出似乎只包括测量值而不包括标签值。

我的代码如下所示:

import pandas as pd
from influxdb import InfluxDBClient

def main():

    host = 'localhost'
    port = 8086
    user = 'abc'
    password = 'xyz'
    dbname = 'rain_rate'


    client = InfluxDBClient(host, port, user, password, dbname)
    print("Influx Connected")

    q = 'SELECT * FROM "rain_rate" WHERE time > now() - 24h GROUP BY "location", "site_id";'

    df = pd.DataFrame(client.query(q).get_points())
    print(df)


if __name__ == '__main__':
    main() 

当我打印数据框时,输出仅显示列中的测量值和数据点,但标签值“location”和“site_id”不在数据框中。

如何将 2 个标记值与测量值一起作为它们自己的列出现在数据框结果中?

提前致谢!

【问题讨论】:

    标签: python pandas dataframe influxdb


    【解决方案1】:

    select * from 将查询括起来,并将您的实际查询作为子查询。

    试试这个

    'SELECT * FROM (SELECT * FROM "rain_rate" WHERE time > now() - 24h GROUP BY "location", "site_id");'
    

    当你这样做时,外部查询将所有标签转换为字段,因此它将转换为数据框中的列

    【讨论】:

    • 这太棒了!非常感谢!!
    猜你喜欢
    • 2018-03-12
    • 2019-04-25
    • 2019-09-25
    • 1970-01-01
    • 2018-10-23
    • 2017-01-11
    • 2019-05-24
    • 2019-03-25
    • 1970-01-01
    相关资源
    最近更新 更多