![](/img/trans.png)
[英]Calculating top 10 average per year in python (groupby, nlargest)
[英]Top 10 per unit in python?
我有 105 个单位的延迟数据。 我需要数据来显示每单位前 10 名的最大延迟。
我需要它显示 3 列Unit, DelayDesc, and Time_hrs
,每个单元只需要显示前 10 个DelayDesc
和这 10 个最大延迟的小时数
目前,我只能使用此 python 代码将每个单元按其所有延迟分开:
Duration_Hr = df['Duration_s']/3600 # calulation from seconds to hours
df['Duration_Hr'] = Duration_Hr # adding Duration_Hr to the dataframe (df)
Sum_Time =df.groupby(['Unit','DelayDesc'])['Duration_Hr'].sum().to_frame('Time_Hrs')
print(Sum_Time)
带输出:
我错过了什么? 我不知道什么? 请简单解释一下。 我现在只使用 python 几个月了,一切都很混乱,所以希望这个问题是有道理的。 谢谢!
没有要测试的确切数据,我不能肯定,但它可能就像使用df.nlargest()
的 pandas 函数一样简单。
如果您的Sum_Time
数据帧具有正确的数据,但最后一个问题是通过`['Time_Hrs'] 获得前 10 名,则应该这样做。
df_final = Sum_Time.nlargest(10,'Time_Hrs')
print(df_final)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.