![](/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.