這個問題在這里已經有了答案: Pandas:從多級列索引中洗掉一個級別? (7 個回答) 2 小時前關閉。
我有以下代碼:
import pandas as pd
arrays = [['Falcon', 'Falcon', 'Parrot', 'Parrot'],
['Captive', 'Wild', 'Captive', 'Wild']]
index = pd.MultiIndex.from_arrays(arrays, names=('Animal', 'Type'))
df = pd.DataFrame({'Max Speed': [390., 350., 30., 20.]},
index=index)
df = df.unstack(1)
結果,我得到了一個資料框:
Max Speed
Type Captive Wild
Animal
Falcon 390.0 350.0
Parrot 30.0 20.0
如何將列索引轉換為普通列以進行進一步計算?
例如,當我嘗試計算比率時:
ratio = df.Captive / df.Wild
我收到一個錯誤:
“DataFrame”物件沒有“Captive”屬性
uj5u.com熱心網友回復:
用 df.columns = df.columns.get_level_values(1)
之后你可以使用 ratio = df.Captive / df.Wild
uj5u.com熱心網友回復:
df現在是一個包含另一個資料幀的資料幀。
這將作業:
ratio = df['Max Speed'].Captive / df['Max Speed'].Wild
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/350765.html
