<p><strong>更新的尝试</strong></p>
<p>如果你想每年重新抽样,那么这是我的尝试,但产量看起来不像你期望的答案</p>
<p>生成数据</p>
<pre><code>d = [['id', 'date', 'value'],
[1, '2016-12-1', 9],
[1, '2016-12-1',8],
[1, '2017-1-1',18],
[2, '2017-3-4',19],
[2, '2017-3-4',20],
[1,'2017-4-3',21],
[2, '2017-7-13',12],
[3, '2017-8-9',12],
[2, '2017-9-12',11],
[1, '2017-11-12',19],
[3, '2017-11-12',21],]
df = pd.DataFrame(d[1:], columns=d[0])
print(df)
id date value
0 1 2016-12-1 9
1 1 2016-12-1 8
2 1 2017-1-1 18
3 2 2017-3-4 19
4 2 2017-3-4 20
5 1 2017-4-3 21
6 2 2017-7-13 12
7 3 2017-8-9 12
8 2 2017-9-12 11
9 1 2017-11-12 19
10 3 2017-11-12 21
</code></pre>
<p>尝试每年重新取样,然后加和</p>
^{pr2}$
<p><strong>初始答案</strong></p>
<p>您可以这样做,但它不执行显式的<code>resample</code>操作</p>
<pre><code>f = {'date':['min','max'],
'value':'sum'}
df_grouped = df.groupby(['id']).agg(f)
df_grouped.columns = ['_'.join(col) for col in df_grouped.columns.values]
df_grouped.reset_index(drop=False, inplace=True)
print(df_grouped)
id date_min date_max value_sum
0 1 16-12-1 17-4-3 75
1 2 17-3-4 17-9-12 62
2 3 17-11-12 17-8-9 33
</code></pre>