0
我有一個熊貓數據框,並有三列,State_Name,County_Name,Population。人口是一個數字數據。我想回答的問題只是看每個州三個人口最多的縣,三個人口最多的州是什麼。所以我認爲首先我需要groupby State_Name和County_Name。我可以做到這一點。但在此之後,我很困惑如何繼續。我是熊貓新手,所以指導將有所幫助排序在每個小組和總結前三個值
我有一個熊貓數據框,並有三列,State_Name,County_Name,Population。人口是一個數字數據。我想回答的問題只是看每個州三個人口最多的縣,三個人口最多的州是什麼。所以我認爲首先我需要groupby State_Name和County_Name。我可以做到這一點。但在此之後,我很困惑如何繼續。我是熊貓新手,所以指導將有所幫助排序在每個小組和總結前三個值
以下是一些虛擬數據(請始終在將來包含您的數據樣本)。
State_Name,County_Name,Population
State1,State1_A,100
State1,State1_B,8000
State1,State1_C,75
State1,State1_D,876
State1,State1_E,2938
State2,State2_A,200
State2,State2_B,16000
State2,State2_C,75
State2,State2_D,876
State2,State2_E,5876
讓我們設定的指標是STATE_NAME和COUNTY_NAME,並選擇「人口」一欄,所以我們返回multiindexed pandas.Series
df = pd.read_clipboard() # Could have done index_col=[0,1] here
df = df.set_index(['State_Name','County_Name'])
s = df.Population
現在你可以做Series.groupby然後用nlargest (不會在數據框上工作,這就是爲什麼我使用一個系列):
s.groupby(level='State_Name').nlargest(3)
State_Name State_Name County_Name
State1 State1 State1_B 8000
State1_E 2938
State1_D 876
State2 State2 State2_B 16000
State2_E 5876
State2_D 876
Name: Population, dtype: int64
檢查熊貓節中的其他問題,看看它們如何顯示輸入/原始數據和預期輸出。 – Zero