python - CSV数据的每小时平均数据
问题描述
我的数据是 CSV 格式,分辨率非常低。看起来像
Timestamp value
6/10/2018 0:00 23.9
6/10/2018 0:01 19.8
6/10/2018 0:02 20.3
-------------------------
-------------------------
6/18/2018 23:59 25.9
现在我需要这些数据的每小时平均值。到目前为止我所做的代码是
import pandas as pd
df = pd.read_csv("filename.csv")
df['DateTime'] = pd.to_datetime(df['Timestamp'])
df.index = df['DateTime']
df1 = df.resample('H').mean()
print(df1)
但输出不正确,即
DateTime Value
2018-06-13 00:00:00 16.19
2018-06-13 01:00:00 20.80
----------------------------
----------------------------
2018-12-06 23:00:00 19.09
日期与实际数据表相差甚远。所以请帮我调试它。
解决方案
pandas
无法解析您的Datetime
列,可能是因为字符串表示以月份开头。我认为pandas
假设它是第一天,直到它不再可能,然后它是一个月第一。
您应该指定一个格式字符串:
df['DateTime'] = pd.to_datetime(df['Timestamp'], format='%m/%d/%Y %H:%M')
字符串格式的约定在此页面中:
https ://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
推荐阅读
- python - 如何在 conda 中安装 anaconda 中不可用的软件包
- c# - 在 Nunit 中测试异常
- ember.js - 用 moment.js 更新 Ember.js,失去了凉亭,现在?
- javascript - 如何从我的网站启动我的 Windows 10 应用程序(使用 JavaScript?)
- java - 对端点进行压力测试
- python - 使用 python 进行 google 协作:垃圾收集器不起作用?
- vue.js - 在 Vue 中构建一个 v-checkbox 列表
- python - 使用 python 的 sourcetree 钩子
- javascript - 如何在 JavaScript 的 echo 语句中插入 # 字符?
- python - 输入键检测丢失焦点(Python-Kivy)