簡體   English   中英

Pandas multiindex dataframe - 從multiindex中的一個索引中選擇max

[英]Pandas multiindex dataframe - Selecting max from one index within multiindex

我有一個包含年度和月份多指數的數據框,如下所示

     |     |Value
Year |Month|  
     |  1  |  3
1992 |  2  |  5
     |  3  |  8
     | ... | ...
1993 |  1  |  2
     | ... | ...

我正在嘗試選擇每年的最大值,並將其放在DF中,如下所示:

     | Max
Year |  
1992 |  5
1993 |  2
     | ... 

關於多索引的信息不多,我應該簡單地分組並應用或類似的東西來使它變得更簡單嗎?

非常正確:

df.groupby(level=0).apply(max)

在我的示例DataFrame

0
Caps Lower            
A    a     0  0.246490
           1 -1.265711
           2 -0.477415
           3 -0.355812
           4 -0.724521
     b     0 -0.409198
           1 -0.062552
           2 -0.731789
           3  1.131616
           4  0.085248
B    a     0  0.193948
           1  2.010710
           2  0.289300
           3  0.305373
           4  1.376965
     b     0  0.210522
           1  1.431279
           2 -0.247171
           3  0.899074
           4  0.639926

結果:

0
Caps          
A     1.131616
B     2.010710

這就是我創建DataFrame的方式:

df = pd.DataFrame(np.random.randn(5,4), columns = l)
df.columns = pd.MultiIndex.from_tuples(df.columns, names=['Caps','Lower'])
df = pd.DataFrame(df.unstack())

Simplier解決方案是max只有:

#bernie's sample data
df = df.max(level=0)
print (df)
             0
Caps          
A     1.131616
B     2.010710

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM