我正在使用连接到Raspberry Pi的温度和湿度传感器将这些传感器定期记录到具有以下模式的sqlite3数据库中:
sqlite> .schema
CREATE TABLE sensor_data (tdate DATE, ttime TIME, temperature NUMERIC, humidity NUMERIC);
出于测试目的,只有两个条目:
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
现在我想使用pandas分析和绘制数据:
#! /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
的列,然后将tdate
和ttime
合并到一列中?
提前致谢!
干杯, 拉斯
答案 0 :(得分: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