【发布时间】:2016-11-02 04:58:54
【问题描述】:
我的数据集:
时间戳温度
2016 年 9 月 1 日 0:00:08 53.8
2016 年 9 月 1 日 0:00:38 53.8
2016 年 9 月 1 日 0:01:08 53.8
2016 年 9 月 1 日 0:01:38 53.8
2016 年 9 月 1 日 0:02:08 53.8
2016 年 9 月 1 日 0:02:38 54.1
2016 年 9 月 1 日 0:03:08 54.1
2016 年 9 月 1 日 0:03:38 54.1
2016 年 9 月 1 日 0:04:38 54
2016 年 9 月 1 日 0:05:38 54
2016 年 9 月 1 日 0:06:08 54
2016 年 9 月 1 日 0:06:38 54
2016 年 9 月 1 日 0:07:08 54
2016 年 9 月 1 日 0:07:38 54
2016 年 9 月 1 日 0:08:08 54.1
2016 年 9 月 1 日 0:08:38 54.1
2016 年 9 月 1 日 0:09:38 54.1
2016 年 9 月 1 日 0:10:32 54
2016 年 9 月 1 日 0:11:02 54
2016 年 9 月 1 日 0:11:32 54
2016 年 9 月 1 日 0:00:08 54
2016 年 9 月 2 日 0:00:20 32
2016 年 9 月 2 日 0:00:50 32
2016 年 9 月 2 日 0:01:20 32
2016 年 9 月 2 日 0:01:50 32
2016 年 9 月 2 日 0:02:20 32
2016 年 9 月 2 日 0:02:50 32
2016 年 9 月 2 日 0:03:20 32
2016 年 9 月 2 日 0:03:50 32
2016 年 9 月 2 日 0:04:20 32
2016 年 9 月 2 日 0:04:50 32
2016 年 9 月 2 日 0:05:20 32
2016 年 9 月 2 日 0:05:50 32
2016 年 9 月 2 日 0:06:20 32
2016 年 9 月 2 日 0:06:50 32
from datetime import datetime
import pandas as pd
def same_day(date_string):
return datetime.strptime(date_string, "%m/%d/%Y %H:%M:%S").strftime('%m-%d')
df = pd.read_csv('dataset.csv', index_col=[0],parse_dates=[0], usecols=[0,1,2])
********calculate per day
print (df.index.strftime('%d%m%H'))
print (df.groupby([df.index.strftime('%d%m%H')]).mean())
这里,如何以json数组形式导出??
#****** exporting in CSV format
df.reset_index().to_csv('dataset.csv')
现在我想手动给出日期并检查每天 5 小时和 10 分钟的平均值..就像那样..我们可以在哪里手动给出日期和时间?请帮忙?
例如:- 日期 01-09-2016 10 分钟平均为 36.08 日期 02-09-2016 10 分钟平均为 39.05
日期 01-09-2016 5 小时平均为 45.2 日期 01-09-2016 5 小时平均为 44.3
无论我给什么日期,无论我给什么时间,每个日期都是这样。
通过以下代码,我可以找到不到 2 分钟的温度:-
import pandas as pd
df = pd.read_csv('dataset.csv', parse_dates=['Timestamp'])
#print (df)
mask = df.Timestamp.dt.minute < 2
df1 = df[mask]
df2 = df1.Timestamp.dt.date == pd.to_datetime('9/1/2016').date()
print (df2)
用于计算平均值():-
df3 = df2.set_index('Timestamp', drop=False).resample('D').mean()
print (df3)
错误来了:-
AttributeError: 'Series' object has no attribute 'set_index'
【问题讨论】:
-
过滤手动输入日期/时间的DataFrame;对所需时间范围的值求和;将总数除以时间。
-
做一些阅读,查看 DataFrame 文档以了解可用的内容,观看一些视频,练习您找到的示例,学习如何过滤 DataFrame,学习如何迭代 DataFrame。尚不完全清楚您需要什么,缺少许多细节。您在同一天显示了两个不同的 5 小时平均值,但这没有任何意义 - 一天中有两个以上的 5 小时时段。
-
还在苦苦挣扎..帮帮我。