2017-02-10 83 views
0

到目前爲止真的很喜歡熊貓,這裏是我無法解決的事情!pandas DataFrame - 爲每個唯一索引計算列的平均值,而不用硬編碼每個索引標籤?

我在這裏顯示了一些簡單的數據框,用於某些航班數據。運營商是像Am這樣的運營商。空氣。和Uni。空氣。

print (df) 

Carrier | Num_Passengers 
AA  40 
AA  35 
AA  64 
UA  40 
UA  25 
UA  56 

在我的數據框中,carrier是左側垂直索引,乘客數是我列在列上的索引。

我已經確定由下列各唯一索引:

carriers = df.index.unique() 

這給了我

array(['AA','UA'], dtype=object) 

我會再像計算平均值Num_Passengers爲每個唯一索引(AA和UA )沒有明確地這樣說。一些僞代碼,因爲我不知道我怎麼會做它:

for "carrier" in carriers: 
    make a new dataframe or array containing only the passengers 
    for "carrier" and calculate the average 

,我真的一直在掙扎與這一個,一派上下互聯網。也許我的措辭是錯誤的,但他們必須在那裏找到答案!

+0

我想你想'groupby'。在熊貓文檔中查找它。 – BrenBarn

+0

@BrenBarn非常快速的回答。我從來沒有用過groupby,但我以前見過。我現在會研究它,謝謝。 – AlexDoesScience

回答

0

您正在尋找groupby您的索引,然後獲取平均乘客數量。

df.groupby(level=0).mean() 

      Num_Passengers 
Carrier     
AA   46.333333 
UA   40.333333 
+0

這比我剛剛寫的for循環好得多。熊貓是驚人的,並感謝你知道這一點! – AlexDoesScience

相關問題