【发布时间】:2018-08-31 04:13:23
【问题描述】:
提前感谢您的任何意见......
我正在尝试将一些温度读数组合在一起,以便比较两组读数。下面我试着做一分钟,但如果是一个小时也没关系。
数据似乎可以通过,只是无法正确分组。它只是列出了所有的温度读数(每分钟很多)。
数据在这里:https://github.com/uilfut/pi_code/blob/master/tinydb_environment.json
'date_time' 是日期时间列
'tempC'是温度列
from pandas.io.json import json_normalize
import datetime as dt
import numpy as np
with open('/home/data.json')
as f:
data = json.load(f)
df = pd.DataFrame.from_dict({(i, j): data[i][j] for i in data.keys()
for j in data[i].keys()}, orient='index')
df['data_source'] = df.index.droplevel(level=1)
df.index = df.index.droplevel(level=0)
df['date_time'] = pd.to_datetime(df['date_time'])
# this next line doesn't work -
df.set_index('date_time').groupby(pd.Grouper(freq='T, min')['tempC'].mean()
print(df.head(10))
我也试过
# df['time'] = df['date_time'].dt.time
# df.groupby(pd.TimeGrouper('5Min'))['tempC'].mean().dropna()
# df.set_index('date_time').groupby(pd.TimeGrouper('1hour'))
['tempC'].mean().dropna()
# df.set_index('date_time').groupby(pd.Grouper(freq='T, min'))
['tempC'].mean()
# df.set_index('time').resample("H").mean()
# df.set_index('date_time').resample('5min', how=np.mean)
希望这对某人来说很容易!
非常感谢
【问题讨论】:
标签: python pandas datetime pandas-groupby