如何解决数据的昼夜循环
我每分钟自动记录一次数据。 数据看起来像这样
我试图平均每个变量,以便最终将有 1440 (60X24) 个时间步长。这样,我就可以绘制出每个变量的昼夜循环。
import pandas as pd
import numpy as np
xdata = pd.read_csv("station_2019_2.csv")
xtime = pd.date_range("2019-10-01","2019-11-01",freq="min")
ydata = xdata.drop(columns=["Date","Time"])
df = pd.DataFrame(ydata)
df["Date"] = xtime[1:]
df.index = pd.to_datetime(df.index)
mHI = df.resample('1Min')['Hi'].mean()
print(np.shape(mHI))
不幸的是,它不起作用。 任何帮助将不胜感激。
问候
解决方法
当您将 csv 文件读入数据帧时,pandas 会生成一个由连续整数组成的默认索引。这就是为什么你的代码
df["Date"] = xtime[1:]
df.index = pd.to_datetime(df.index)
不工作。 Pandas 不知道如何将整数索引转换为日期时间格式。相反,您可以这样做:
df.index = xtime[1:]
但是,如果我理解正确,则不需要重新采样,因为您已经有了微频率。所以你甚至可能不需要日期时间索引。
要平均几天内每分钟的值,请不要删除时间列,以便您可以这样做:
df_average_day = df.groupby('Time').mean()
,
我想要的情节应该是这样的
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。