[英]How to access specific rows in a pandas multiindex dataframe
我正在使用我認為是 Pandas 多索引數據框。 有什么辦法可以確定嗎? 我的數據看起來像這樣。
cinc Outcome
Side 1 2 1 2
WarNum
1 0.146344 0.029989 1 2
4 0.152565 0.056853 1 2
7 0.082757 0.017940 1 2
10 0.076032 0.022553 1 2
13 0.048538 0.005754 1 2
當我輸入 war_cinc.columns 時。 我得到以下輸出。
MultiIndex([( 'cinc', 1),
( 'cinc', 2),
('Outcome', 1),
('Outcome', 2)],
names=[None, 'Side'])
如果我想對這些數據進行子集化,我該怎么做? (假設我想獲取數據框 cinc 列的整個第二列)
要檢查您的 df 是否具有Multiindex
,您可以執行以下操作:
isinstance(war_cinc.index, pd.MultiIndex)
這將返回True
。
要檢查hierarchical
列,您可以檢查nlevels
:
if len(war_cinc.columns.nlevels) > 1:
在您的情況下,這將是True
。
您可以獲得整個第二列,例如:
war_cinc[( 'cinc', 2)]
您需要在tuple
傳遞列的所有levels
以獲取列值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.