簡體   English   中英

使用兩個 header Z3A43B4F88325D94022C0EFA9C2FA 訪問 pandas dataframe 列

[英]Access pandas dataframe column with two header pandas

我使用groupbypd.cut創建了一個 dataframe 來計算 bin 內元素的平均值、標准差和數量。 我使用了agg() ,這是我使用的命令:

df_bin=df.groupby(pd.cut(df.In_X, ranges,include_lowest=True)).agg(['mean', 'std','size'])

df_bin 看起來像這樣:

                 X                  Y
                 mean   std size   mean         std  size
In_X                    
(10.424, 10.43] 10.425  NaN  1      0.003786    NaN   1
(10.43, 10.435] 10.4    NaN  0      NaN         NaN   0

我想用第一個 header Xmean創建一個數組。 如果我沒有兩個 header 級別,我會使用類似的東西:

mean=np.array(df_bin['mean'])

但是如何用兩個標題做到這一點?

我們可以做的

df_bin.stack(level=0)['mean'].values

本文檔將為您服務: https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html

要回答您的問題,如果您只想要一個特定的列:

mean = np.array(df_bin['X', 'mean'])

但是如果你想切片到第二層:

mean = np.array(df_bin.loc[:, (slice(None), 'mean')])

或者:

mean = np.array(df_bin.loc[:, pd.IndexSlice[:, 'mean']])

暫無
暫無

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

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