Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
448 views
in Technique[技术] by (71.8m points)

pandas - Calculate the min, max and mean windspeeds and standard deviations

Calculate the min, max and mean windspeeds and standard deviations of the windspeeds
: across all locations for each week (assume that the first week starts on January 2 1961) for the first 52 weeks.

get data
https://github.com/prataplyf/Wind-DateTime/blob/master/wind_data.csv

not understad how to solve

weekly average of each location

          RTP    VAL   ....... . ..... ..  .. . . .. . . .. ... BEL   MAL
1961-1-1
1961-1-8
1961-1-15
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Load the data:

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

Convert date to datetime and set as the index

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

Create a DateFrame for 1961

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

Resample for statistical calculations

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

Plot the data for 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()

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...