在多索引熊猫的2级上提交

时间:2017-01-18 18:24:36

标签: python dataframe filtering

我有2级Dataframe

occupation     gender
administrator  F         0.455696
               M         0.544304
artist         F         0.464286
               M         0.535714
doctor         M         1.000000
educator       F         0.273684
               M         0.726316
engineer       F         0.029851
               M         0.970149

我想在第2级提交,这意味着我想过滤性别提取有关女性的所有数据。

我的尝试是:

df.loc[(slice(None),"F"),:]

但它没有任何效果,这意味着它返回了一个未过滤的数据框,显示了两种性别。

有关如何操作的提示吗? Thx提前

2 个答案:

答案 0 :(得分:2)

你有一个系列而不是数据框,请尝试:

df.loc[(slice(None),"F")]

或者您可以将其转换为数据框,然后使用数据框语法:

df.to_frame().loc[(slice(None),"F"), :]

答案 1 :(得分:0)

在df上应用reset_index()然后切片

df = df.reset_index()
df[df['gender']== 'F']