use*_*827 4 python time-series pandas
我正在尝试使用熊猫来计算每日气候.我的代码是:
import pandas as pd
dates = pd.date_range('1950-01-01', '1953-12-31', freq='D')
rand_data = [int(1000*random.random()) for i in xrange(len(dates))]
cum_data = pd.Series(rand_data, index=dates)
cum_data.to_csv('test.csv', sep="\t")
Run Code Online (Sandbox Code Playgroud)
cum_data是包含1950年1月1日至1953年12月31日的每日日期的数据框.我想创建一个长度为365的新向量,第一个元素包含1950年,1951年,1952年和1953年1月1日的平均rand_data.所以关于第二个元素......
有什么建议我怎么能用熊猫做到这一点?
您可以按年份分组,并计算这些组的平均值:
cum_data.groupby(cum_data.index.dayofyear).mean()
Run Code Online (Sandbox Code Playgroud)
但是,你要注意闰年.这会导致这种方法出现问题.作为替代方案,您还可以按月和日分组:
In [13]: cum_data.groupby([cum_data.index.month, cum_data.index.day]).mean()
Out[13]:
1 1 462.25
2 631.00
3 615.50
4 496.00
...
12 28 378.25
29 427.75
30 528.50
31 678.50
Length: 366, dtype: float64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1810 次 |
| 最近记录: |