从多索引Pandas数据框架中删除特定的行
在这篇文章中,我们将学习如何从多指标数据框架中删除特定的行。
首先,让我们创建一个多指标的数据框架。其步骤如下。
输出:
现在,我们必须从多索引数据框中删除一些行。所以,我们使用pandas模块提供的drop()方法。这个函数可以在pandas数据框架中删除行或列。
语法: df.drop(‘labels’, level=0, axis=0, inplace=True)
参数:
- labels:引号中提到的参数是要删除的索引或列标签。
- axis : 从行(当 axis=0 或 ‘index’)/列(当 axis=1 或 ‘columns’)删除标签的参数。
- level:参数表示级别编号,如0,1等,以帮助识别和操作多指标数据框架中的特定级别数据。例如,在给定的例子中,有两个级别,即1级和2级。
- inplace:参数,用于进行原地操作,如果其值为True则不返回。在所有的例子中,inplace的值都是True,这样它就会进行操作,然后不返回。
例子1:要在第0级中删除包含 “狮子 “的行。
这里’lion’是我们想要放弃的标签名称。
- level=0, axis=0作为描述行将被删除的目标。
- 在df.drop()函数中,inplace=True,这样它就执行了任务,并且不返回任何东西。
输出:
例子2:要删除第1层中包含 “重量 “的行。
这里’weight’是我们想在第1级中从第0级的每一行中删除的标签名称。
- level=1, axis=0作为描述行将被删除的目标。
- 在df.drop()函数中,inplace=True,这样它就执行了任务,并且不返回任何东西。
输出:
例子3:要在第1层的 “野牛 “内删除一个标签为 “重量 “的单行。
这里(’bison’, ‘weight’)是我们想从第0层和第1层分别删除的标签名称。它的意思很简单,只有第0层的标签’bison’的行,第1层的标签’weight’将被删除。不需要提及级别,因为它涉及到两个级别,所以只有引号内的标签名称可以正常工作。
- 轴=0,说明行将成为删除的目标。
- 在df.drop()函数中,inplace=True,这样它就执行了任务,并且不返回任何东西。
输出:
例子4:要从第0层删除两行。
这里(’bison’, ‘hawk’)是我们想从第0层删除的标签名称,它包含了第1层的多条记录。因此,删除第0层的行将导致第1层的相应行也被删除。
- axis=0,因为它描述的是将被删除的行。
- 在df.drop()函数中,inplace=True,这样它就执行了任务,并且不返回任何东西。
输出 4: