首先,根据熊猫时间戳记创建一列:
df = df.dropna()
df['date'] = df.apply(lambda x: pd.Timestamp('{year}-{month}-{day}'
.format(year=int(x.Year),
month=int(x.Month),
day=int(x.Day))),
axis=1)
接下来,根据纬度和经度的元组对设置位置.
df['Location'] = zip(df.Lat, df.Long)
现在,删除冗余数据.
df.drop(['Year', 'Month', 'Day', 'Lat', 'Long'], axis=1, inplace=True)
现在,我们可以按日期和位置旋转数据.现在,新的DataFrame会在以下日期建立索引:
df2 = df.pivot(index='date', columns='Location')
交换新列的级别(使位置位于值的顶部).
df2.columns = df2.columns.swaplevel('Location', None)
最后,使用resample来获取十年期间数据的平均值:
>>> df2.resample('10A', how='mean') # 'A'=Annual, '10A'=TenYears
Location (46.90625, -11