Python 从df底部开始按n行分组

Python 从df底部开始按n行分组,python,pandas,Python,Pandas,我有以下建议: Week Sales 1 10 2 15 3 10 4 20 5 20 6 10 7 15 8 10 我想每3周分组,总结销售情况。我想从最底层的3周开始。如果顶部剩余时间少于3周,如本例所示,则应忽略这些周。所需输出如下: Week Sales 5-3 50 8-6 35 我在我原来的df.reset\u indexdrop=T

我有以下建议:

Week    Sales
1        10
2        15
3        10
4        20
5        20
6        10
7        15
8        10
我想每3周分组,总结销售情况。我想从最底层的3周开始。如果顶部剩余时间少于3周,如本例所示,则应忽略这些周。所需输出如下:

Week    Sales
5-3       50
8-6       35
我在我原来的df.reset\u indexdrop=True.groupbyby=lambda x:x/N,axis=0.sum上试过这个 但这个解决方案不是从最底层开始的


有人能给我指一下正确的方向吗?谢谢

您可以尝试使用.iloc[:-1]反转数据:

输出:

  Week  Sales
0  8-6     35
1  5-3     50
2  2-1     25

您可以尝试使用.iloc[:-1]反转数据:

输出:

  Week  Sales
0  8-6     35
1  5-3     50
2  2-1     25

在处理时段聚合时,我通常使用.resample,因为它在不同时段的数据中是固定的

输入io 从日期时间导入时间增量 作为pd进口熊猫 dataf=pd.read\u csvio.StringIOWeek销售额 1 10 2 15 3 10 4 20 5 20 6 10 7 15 8 10,sep='\s+',.astypeint 反转数据并将整数周转换为实际日期时间 dataf=dataf.iloc[:-1] dataf['Week']=dataf['Week'].maplambda x:timedeltaweeks=x 将日期对象设置为重新采样的索引 dataf=dataf.set_索引'Week' 现在我们重新取样 数据F.对“21d”重新采样。总计21天
::注意:标签有误导性。设置kind='period'确实会引起错误

在处理期间聚合时,我通常使用。重新采样,因为它在将不同时间段的数据合并时是固定的

输入io 从日期时间导入时间增量 作为pd进口熊猫 dataf=pd.read\u csvio.StringIOWeek销售额 1 10 2 15 3 10 4 20 5 20 6 10 7 15 8 10,sep='\s+',.astypeint 反转数据并将整数周转换为实际日期时间 dataf=dataf.iloc[:-1] dataf['Week']=dataf['Week'].maplambda x:timedeltaweeks=x 将日期对象设置为重新采样的索引 dataf=dataf.set_索引'Week' 现在我们重新取样 数据F.对“21d”重新采样。总计21天 ::注意:标签有误导性。并且设置kind='period'会引发错误