根据索引值屏蔽数据
这将是我们的示例数据框:
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