您当前的位置:首页 > 电脑办公 > excel
| PPT | 电脑打字 | 计算机基础 | word | excel | Linux教程 |

自学教程:df.drop()函数删除多行或者多列

51自学网 2021-11-23 22:00:01
  excel
这篇教程df.drop()函数删除多行或者多列写得很实用,希望能帮到您。

df.drop()函数删除多行或者多列

 

函数用法

从行或列中删除指定的标签

通过指定标签名称和相应的轴,或直接指定索引或列名称,删除行或列。使用多索引时,可以通过指定级别来删除不同级别上的标签

函数参数

DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

参数解释:

  1. labels:单个标签或类似列表,要删除的索引或列标签。
  2. axis:{0或'index',1或'columns'},默认0,是从索引(0或“ index”)还是从列(1或“ columns”)中删除标签。
  3. index:单个标签或类似列表,指定轴的替代方法(labels, axis=0 is equivalent to index=labels
  4. columns:单标签或类似列表,指定轴的替代方法(labels, axis=1 is equivalent to columns=labels)
  5. level:int或级别名称,可选,对于MultiIndex,将从中删除标签的级别。
  6. inplace:布尔值,默认为False,如果为False,则返回副本。否则,执行就地操作并返回无。
  7. errors:{'ignore','raise'},默认为'raise',如果'ignore',则抑制错误,仅删除现有标签 。

注意:labels和axis的搭配

例子

#构建一个表
df = pd.DataFrame(np.arange(12).reshape(3, 4),
                  columns=['A', 'B', 'C', 'D'])
df
   A  B   C   D
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11

删除列,需要注明axis=1或者是columns=xxx

复制代码
#一种表达
df.drop(['B', 'C'], axis=1)

#另一种表达
df.drop(columns=['B', 'C'])

#还可以这样表达
df.drop(labels=['B', 'C'], axis=1)
复制代码
   A   D
0  0   3
1  4   7
2  8  11

删除行,由于默认是删除行,因此可以这样子表达,

df.iloc[[0,1],:]   #对行、列进行切片  第1、2行
df.drop([0, 1])
   A  B   C   D
2  8  9  10  11

删除MultiIndex 行或者列

复制代码
#新建一个复合索引的表
midx = pd.MultiIndex(levels=[['lama', 'cow', 'falcon'],
                             ['speed', 'weight', 'length']],
                     codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],
                            [0, 1, 2, 0, 1, 2, 0, 1, 2]])
df = pd.DataFrame(index=midx, columns=['big', 'small'],
                  data=[[45, 30], [200, 100], [1.5, 1], [30, 20],
                        [250, 150], [1.5, 0.8], [320, 250],
                        [1, 0.8], [0.3, 0.2]])
df
复制代码
                big     small
lama    speed   45.0    30.0
        weight  200.0   100.0
        length  1.5     1.0
cow     speed   30.0    20.0
        weight  250.0   150.0
        length  1.5     0.8
falcon  speed   320.0   250.0
        weight  1.0     0.8
        length  0.3     0.2

删除行

#删除
df.drop(index='length', level=1)
                big     small
lama    speed   45.0    30.0
        weight  200.0   100.0
cow     speed   30.0    20.0
        weight  250.0   150.0
falcon  speed   320.0   250.0
        weight  1.0     0.8

删除列

#删除某行某列
df.drop(index='cow', columns='small')
                big
lama    speed   45.0
        weight  200.0
        length  1.5
falcon  speed   320.0
        weight  1.0
        length  0.3

 


Python批量处理Excel文件
python批量删除所有csv文件的第一行内容
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1