簡體   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