2017-03-02 46 views
1

我使用连接到树莓裨的温度和湿度传感器来登录那些规则的间隔与下面的模式一个sqlite3的DB出现未知列目的只有两个项目:使用大熊猫导入sqlite3的数据库

sqlite> SELECT * FROM sensor_data; 
2017-03-02|19:04:42|19.8999996185303|51.5 
2017-03-02|19:26:08|19.8999996185303|51.2000007629395 

现在,我想用大熊猫来分析和绘制数据:

#! /usr/bin/python 
from datetime import datetime 
import sqlite3 
import pandas as pd 

conn = sqlite3.connect('test.db') 

    with conn: 
     curs = conn.cursor() 
     df = pd.read_sql_query("SELECT * FROM sensor_data", conn, 
         parse_dates={'tdate':"%Y-%m-%d",'ttime':"%H:%M:%S"}) 
     print(df) 

conn.close() 

结果:

$ ./test.py 
    tdate    ttime temperature humidity 
0 2017-03-02 1900-01-01 19:04:42   19.9 51.500000 
1 2017-03-02 1900-01-01 19:26:08   19.9 51.200001 

我的问题是: 如何摆脱包含1900-01-01的,然后列的结合tdatettime成一列?

在此先感谢!

干杯, 拉尔斯

+0

是'1900-01-01'自己的列或另一列的值的一部分吗? – MattR

+0

[http://stackoverflow.com/questions/17978092/combine-date-and-time-columns-using-python-pandas)当想要合并这些日期时也可能派上用场 – MattR

+0

它看起来像是df ['ttime']的一部分,也许我的格式化字符串不正确? –

回答

0

试试这个:

In [13]: df = pd.read_sql_query("SELECT * FROM sensor_data", conn, 
    ...:      parse_dates=['tdate','ttime']).drop('tdate', 1) 

In [14]: df 
Out[14]: 
       ttime temperature humidity 
0 2017-03-02 19:04:42   19.9  51.5 
1 2017-03-02 19:26:08   19.9  51.2 
+0

谢谢@MaxU,你的答案正在做我正在寻找的东西!非常感激! –

+0

@LarsB。,欢迎您:) – MaxU