【问题标题】:Top 10 per unit in python?python中每单位前10名?
【发布时间】:2021-07-15 17:07:23
【问题描述】:

我有 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)

带输出:

output of code as image

我错过了什么?我不知道什么?请简单解释一下。我现在只使用 python 几个月了,一切都很混乱,所以希望这个问题是有道理的。谢谢!

【问题讨论】:

    标签: python pandas jupyter-notebook


    【解决方案1】:

    没有您要测试的确切数据,我不能肯定,但这可能就像使用熊猫函数df.nlargest() 一样简单。

    如果您的 Sum_Time 数据框有正确的数据,但最后一个问题是通过 `['Time_Hrs'] 获得前 10 名,则应该这样做。

    df_final = Sum_Time.nlargest(10,'Time_Hrs')
    print(df_final)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 2019-01-30
      • 1970-01-01
      • 2019-10-03
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      相关资源
      最近更新 更多