gpt4 book ai didi

python - 获取每月数据库的每日平均值

转载 作者:行者123 更新时间:2023-11-30 23:32:51 26 4
gpt4 key购买 nike

我有一长串按以下方式构造的数据

Date, Time, Temperature, Moisture, Accumulated precipitation

1/01/2011, 00:00, 23, 50, 2,
1/01/2011, 00:15, 22, 45, 1,
1/01/2011, 00:30, 20, 39, 0,
1/01/2011, 01:00, 25, 34, 0,
1/01/2011, 01:15, 23, 50, 0,
.
.
.
.
1/01/2011, 23:45, 22, 40, 0,
.
.
.
.
31/01/2011, 00:00, 23, 45, 0,

如何获取该月第 31 天变量温度湿度的每日平均值?

最佳答案

这就是 pandas 所发生的事情图书馆擅长。基本思想是,您可以将数据读入名为 DataFrames 的对象(有点像 Excel 工作表),然后您可以对它们执行一些巧妙的操作。从我制作的类似于您的 temps.csv 文件开始:

>>> df = pd.read_csv("temps.csv", index_col=False, parse_dates=[[0,1]], skipinitialspace=True)
>>> df = df.rename(columns={"Date _Time": "Time"})
>>> df = df.set_index("Time")
>>> df
Temperature Moisture Accumulated precipitation
Time
2011-01-01 00:00:00 23 50 2
2011-01-01 00:15:00 22 45 1
2011-01-01 00:30:00 20 39 0
2011-01-01 01:00:00 25 34 0
2011-01-01 01:15:00 23 50 0
2011-01-01 23:45:00 22 40 0
2011-01-02 00:00:00 123 250 32
2011-01-02 00:15:00 122 245 31
2011-01-02 00:30:00 120 239 30
2011-01-02 01:00:00 125 234 30
2011-01-02 01:15:00 123 250 30
2011-01-02 23:45:00 122 240 30

一旦我们的框架形状良好,我们就可以轻松地重新采样(默认为平均值):

>>> df.resample("D")
Temperature Moisture Accumulated precipitation
Time
2011-01-01 22.5 43 0.5
2011-01-02 122.5 243 30.5

或者获取最大值或最小值:

>>> df.resample("D", how="max")
Temperature Moisture Accumulated precipitation
Time
2011-01-01 25 50 2
2011-01-02 125 250 32
>>> df.resample("D", how="min")
Temperature Moisture Accumulated precipitation
Time
2011-01-01 20 34 0
2011-01-02 120 234 30

等等。请注意,这只是每天记录的数据点的粗略平均值:如果您想以不同的方式重新采样以考虑测量之间的不同距离,这也很容易。如果您打算使用 Python 进行数据处理,那么绝对值得阅读 10 minute overview看看是否有帮助。

关于python - 获取每月数据库的每日平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19191080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com