考慮以下 DataFrame:
df1 = pd.DataFrame({'City': ['Seattle', 'Seattle', 'Portland', 'Seattle', 'Seattle', 'Portland'], 'Name': ['Alice', 'Bob', 'Mallory', 'Mallory', 'Bob', 'Mallory']})
使用 groupby(執行分組運算後),輸出是一個層次索引DataFrame,如圖下面:
g1 = df1.groupby(['Name', 'City']).count() print(g1) City Name Name City Alice Seattle 1 1 Bob Seattle 2 2 Mallory Portland 2 2 Seattle 1 1
要擷取所需的 DataFrame 結構,有多種方法。
這涉及在列中加入字尾名稱並重設層次索引:
g1.add_suffix('_Count').reset_index() print( pd.DataFrame({'City_Count': g1['City'], 'Name_Count': g1['Name'] }) ) City_Count Name_Count Alice Seattle 1 1 Portland 2 2 Bob Seattle 2 2 Mallory Portland 2 2 Seattle 1 1
另一種方法是使用size() 方法來計算每個群組的出現次數並重置索引:
df1.groupby(['Name', 'City']).size().reset_index() print( pd.DataFrame({'Name': g1.index.get_level_values(0), 'City': g1.index.get_level_values(1), 'Count': g1['City'] }) ) Name City Count 0 Alice Seattle 1 1 Bob Seattle 2 2 Mallory Portland 2 3 Mallory Seattle 1
以上是如何將 Pandas GroupBy MultiIndex 輸出從系列轉換為 DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!