如何计算python中每15行的百分比

如何计算python中每15行的百分比,python,pandas,function,loops,for-loop,Python,Pandas,Function,Loops,For Loop,我的数据框中有810行关于车辆速度的数据,我试图计算每15行的第85百分位速度。以下是我迄今为止所做的: count = 0 stat1 = [] for i, row in df.iterrows(): if count == 10: stat1 = df.dbl_v.quantile(0.85) count = 0 else: count += 1 如何存储和查看第85百分位速度?应该有54个第85百分位速度 谢谢我们可以每1

我的数据框中有810行关于车辆速度的数据,我试图计算每15行的第85百分位速度。以下是我迄今为止所做的:

count = 0
stat1 = []
for i, row in df.iterrows():
    if count == 10:
        stat1 = df.dbl_v.quantile(0.85)
        count = 0
    else:
        count += 1
如何存储和查看第85百分位速度?应该有54个第85百分位速度


谢谢

我们可以每15行创建一组,使用除法的剩余部分乘以15

grouper = df.groupby(df.index // 15)
要通过将
.quantile
应用于多个列来创建新的DF,我们可以执行以下操作:

df_new = grouper.agg(
               quantile85 = ('dbl_v', lambda x: x.quantile(0.85))
              ,quantile20 = ('other_column', lambda x: x.quantile(0.20))
              ,mean_dbl_v = ('dbl_v', 'mean')
              ,sum_col3 = ('name_column3', 'sum')
               #and so on...
           )

我们可以使用除15的剩余部分,每15行创建一个组

grouper = df.groupby(df.index // 15)
要通过将
.quantile
应用于多个列来创建新的DF,我们可以执行以下操作:

df_new = grouper.agg(
               quantile85 = ('dbl_v', lambda x: x.quantile(0.85))
              ,quantile20 = ('other_column', lambda x: x.quantile(0.20))
              ,mean_dbl_v = ('dbl_v', 'mean')
              ,sum_col3 = ('name_column3', 'sum')
               #and so on...
           )

请尝试
df.groupby(df.index//15)['dbl\u v'].quantile(0.85)
谢谢您的帮助!成功了吗?如果是,我会做出适当的回答如果我添加更多的百分位数来计算,有可能将其保存到新的数据框中吗?是的,它可以工作,我可以清楚地看到所有所需的第85百分位数speedtry
df.groupby(df.index//15)['dbl_v'].分位数(0.85)
感谢您的帮助!成功了吗?如果是,我会做出适当的回答如果我添加更多的百分位数进行计算,是否可以将其保存到新的数据框中?是的,它工作正常,我可以清楚地看到所有所需的第85百分位数。谢谢!除了百分位数,我还想计算每15行的平均值、中位数和其他百分位数。for-loop函数将如何使用?我添加了更多聚合示例,请参见更新:-)谢谢,你帮了我很多忙!基本上,我不需要循环函数来迭代它们。我只需要groupby和聚合函数。谢谢@如果我的回答对你有帮助,请:-)谢谢!除了百分位数,我还想计算每15行的平均值、中位数和其他百分位数。for-loop函数将如何使用?我添加了更多聚合示例,请参见更新:-)谢谢,你帮了我很多忙!基本上,我不需要循环函数来迭代它们。我只需要groupby和聚合函数。谢谢@如果我的回答对你有帮助,请:-)