重采样后获取 pandas 第 n 个条目(在 'DatetimeIndexResampler' 对象上)

Get pandas nth entry after resampling ( on 'DatetimeIndexResampler' object)

我有这样一个数据框 df:

            Data
Date    
2013-01-01  1
2013-01-01  3
2013-01-01  0
2013-02-01  4
2013-02-01  0

它继续按月和值的其他后续日期。 我想在单独的子集中为一个月的每个组获取第 n 个元素。

我想使用月份重新采样并获得 nth 元素,就像我们可以获得 mean, min, max...

第 n 个元素在 0 到 min 范围内

其中

min_to_keep = int(df.resample('M').count().min()[0])

除了 pandas#nth 方法不适合我,它适用于 Group 对象而不是 Resampler

想要的结果如下:

1  2013-01-01  1
   2013-02-01  4

2  2013-01-01  3
   2013-02-01  0

...

分组,然后使用 .nth

形成单独的 DataFrames
import pandas as pd

gp = df.groupby(pd.Grouper(freq='M'))
l = [gp.nth(i) for i in range(gp.size().max())]

# If need a DataFrame
pd.concat(l, keys=list(range(gp.size().max())))
              Data
  Date            
0 2013-01-31     1
  2013-02-28     4
1 2013-01-31     3
  2013-02-28     0
2 2013-01-31     0