我正在尝试从一个数据帧中以每月分辨率选择几年。
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import netCDF4 as nc
#-- open net-cdf and read in variables
data = nc.Dataset('test.nc')
time = nc.num2date(data.variables['Time'][:],
data.variables['Time'].units)
df = pd.DataFrame(data.variables['mgpp'][:,0,0], columns=['mgpp'])
df['dates'] = time
df = df.set_index('dates')
print(df.head())
这是头部的样子:
mgpp
dates
1901-01-01 0.040735
1901-02-01 0.041172
1901-03-01 0.053889
1901-04-01 0.066906
现在我设法提取了一年:
df_cp = df[df.index.year == 2001]
但是我将如何提取几年,例如1997、2001和2007,并将它们存储在同一数据框中?有一/二线解决方案吗?我目前唯一的想法是迭代然后合并数据帧,但是也许有更好的解决方案!