繁体   English   中英

python中每单位前10名?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM