Поместите Pandas Dataframe в influenxDB - PullRequest
0 голосов
/ 31 января 2020

Я хотел бы поместить этот DataFrame ( DataFrame ) в influenxdb. К сожалению, у меня появляется следующее сообщение об ошибке: "ValueError: Значение истинности для DataFrame неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или .all (). "

Проблемы с этими 2 строками?

  • tags = {'tag1': df [['tag1'] ], 'tag2': df [['tag2']]}

  • client.write_points (df, 'test', tags = tags)

    Не знаю понимаю почему. Спасибо за вашу помощь

       def main(host='10.0.0.3', port=8086):
            """Instantiate the connection to the InfluxDB client."""
        user = ''
        password = ''
        dbname = 'ess_2'
        protocol = 'line'
    
        client = DataFrameClient(host, port, user, password, dbname)
    
        print("Create database: " + dbname)
        client.create_database(dbname)
    
        t = time.strftime('%Y-%m-%d %H:%M:%S')
        headers = ['time','tag1','tag2','field1','field2']
        data    = [[t,'MSFT','NYSE',1.3,2.5],[t,'APPL','NYSE',3.5,4.24]]
        df      = pd.DataFrame(data, columns = headers)
        df['time'] = pd.to_datetime(df['time'])
        df      = df.set_index('time')
        tags        = { 'tag1': df[['tag1']], 'tag2': df[['tag2']]  }   #DEBUG
        client.write_points(df, 'test', tags = tags) #DEBUG
    
    
    
        print("Read DataFrame")
        client.query("select * from demo")
    
    
    def parse_args():
        """Parse the args from main."""
        parser = argparse.ArgumentParser(
            description='example code to play with InfluxDB')
        parser.add_argument('--host', type=str, required=False,
                            default='10.0.0.3',
                            help='hostname of InfluxDB http API')
        parser.add_argument('--port', type=int, required=False, default=8086,
                            help='port of InfluxDB http API')
        return parser.parse_args()
     if __name__ == '__main__':
         args = parse_args()
         main(host=args.host, port=args.port)
    
...