首页 > 解决方案 > 计算最小、最大和平均风速和标准偏差

问题描述

计算最小、最大和平均风速以及风速的标准偏差
在前 52 周每周(假设第一周从 1961 年 1 月 2 日开始)的所有位置。

获取数据
https://github.com/prataplyf/Wind-DateTime/blob/master/wind_data.csv

不明白怎么解决

每个位置的每周平均值

          RTP    VAL   ....... . ..... ..  .. . . .. . . .. ... BEL   MAL
1961-1-1
1961-1-8
1961-1-15

标签: pandas

解决方案


加载数据:

df = pd.read_csv('wind_data.csv')

转换datedatetime并设置为索引

df.date = pd.to_datetime(df.date)
df.set_index('date', drop=True, inplace=True)

DateFrame为 1961创建一个

df_1961 = df[df.index < pd.to_datetime('1962-01-01')]

重新采样以进行统计计算

df_1961.resample('W').mean()
df_1961.resample('W').min()
df_1961.resample('W').max()
df_1961.resample('W').std()

绘制 1961 年的数据:

fix, axes = plt.subplots(12, 1, figsize=(15, 60), sharex=True)
for name, ax in zip(df_1961.columns, axes):
    ax.plot(df_1961[name], label='Daily')
    ax.plot(df_1961_mean[name], label='Weekly Mean Resample')
    ax.plot(df_1961_min[name], label='Weekly Min')
    ax.plot(df_1961_max[name], label='Weekly Max')
    ax.set_title(name)
    ax.legend()

推荐阅读