根據索引值遮蔽資料

這將是我們的示例資料框:

         color   size
name                 
rose       red    big
violet    blue  small
tulip      red  small
harebell  blue  small

我們可以根據索引值建立一個掩碼,就像在列值上一樣。

rose_mask = df.index == 'rose'
df[rose_mask]
     color size
name           
rose   red  big

但這樣做幾乎是一樣的

df.loc['rose']
color    red
size     big
Name: rose, dtype: object

重要的區別是,當 .loc 只在匹配的索引中遇到一行時,它將返回一個 pd.Series,如果它遇到更多匹配的行,它將返回一個 pd.DataFrame。這使得該方法相當不穩定。

可以通過向 .loc 提供單個條目的列表來控制此行為。這將強制它返回資料框。

df.loc[['rose']]
         color   size
name                 
rose       red    big