我有一个我想分组的值系列,另一个系列包含每个组在第一组之后的起始位置索引(第一组被理解为从位置索引 0 开始)。一系列值可以有任意索引。有没有办法使用它来生成 groupby-aggregate?理想情况下,将保留空组。示例:
values = pd.Series(np.arange(10, 20), index=np.arange(110, 120))
group_indices = pd.Series([3, 3, 8])
现在,values.groupby(group_indices) 应该分组,第一组是 values.iloc[:3],第二组是 values。 iloc[3:3](一个空组),第三个是values.iloc[3:8],第四个是values.iloc[8:],而 values.groupby(group_indices).mean() 将是 pd.Series([11.0, NaN, 15.0, 18.5])。
请您参考如下方法:
这里有一个简单的方法
values.groupby(values.index.isin(group_indices).cumsum()).mean()
Out[454]:
1 11.0
2 15.0
3 18.5
dtype: float64
