问题描述
我的数据框中有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个百分位速度?应该是85分之54的速度。
谢谢
解决方法
我们可以使用除以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...
)