一.函数
DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)
参数含义:
- labels:要删除的行或列,用列表给出
- axis:默认为0,指要删除的是行,删除列时需指定axis为1
- index :直接指定要删除的行,删除多行可以使用列表作为参数
- columns:直接指定要删除的列,删除多列可以使用列表作为参数
- inplace: 默认为False,该删除操作不改变原数据;inplace = True时,改变原数据
二.总结
- 删除行或列两种方式
- 通过参数labels和axis 来指定
- 通过参数index或者columns来指定
三.例子
1.根据默认的行列索引操作
- 示例数据
import numpy as np
import pandas as pd
# 生成随机数组-5行5列
df = pd.DataFrame(np.random.rand(5,5))
print(df)
- 数据展示
0 1 2 3 4
0 0.760489 0.074633 0.788416 0.087612 0.560539
1 0.758450 0.599777 0.384075 0.525483 0.628910
2 0.386808 0.148106 0.742207 0.452627 0.775963
3 0.662909 0.134640 0.186186 0.735429 0.459556
4 0.328694 0.269088 0.331404 0.835388 0.899107
1.1行删除
- 删除单行
# 删除单行,删除第2行
df.drop(df.index[1],inplace=True) # inplace=True 原地修改
print(df)
- 执行结果
0 1 2 3 4
0 0.605764 0.234973 0.566346 0.598105 0.478153
2 0.383230 0.822174 0.228855 0.743258 0.076701
3 0.875287 0.576668 0.176982 0.341827 0.112582
4 0.205425 0.898544 0.799174 0.000905 0.377990
- 删除不连续多行
# 删除不连续多行,删除第2和第4行
df.drop(df.index[[1,3]],inplace=True)
print(df)
- 执行结果
0 1 2 3 4
0 0.978612 0.556539 0.781362 0.547527 0.706686
2 0.845822 0.321716 0.444176 0.053915 0.296631
4 0.617735 0.040859 0.129235 0.525116 0.005357
- 删除连续多行
# 删除连续多行
df.drop(df.index[1:3],inplace=True) # 开区间,最后一个索引号不计算在内
print(df)
- 执行结果
0 1 2 3 4
0 0.072891 0.926297 0.882265 0.971368 0.567840
3 0.163212 0.546069 0.360990 0.494274 0.065744
4 0.752917 0.242112 0.526675 0.918713 0.320725
1.2列删除
列的删除可以使用del和drop两种方式,del df[1] # 删除第2列,该种方式为原地删除,本文具体讲解drop函数删除。
- 删除指定列
df.drop([1,3],axis=1,inplace=True) # 指定轴为列
# df.drop(columns=[1,3],inplace=True) # 直接指定列
- 执行结果
0 2 4
0 0.592869 0.123369 0.815126
1 0.127064 0.093994 0.332790
2 0.411560 0.118753 0.143854
3 0.965317 0.267740 0.349927
4 0.688604 0.699658 0.932645
- 删除连续列
df.drop(df.columns[1:3],axis=1,inplace=True) #指定轴
# df.drop(columns=df.columns[1:3],inplace = True) # 指定列
print(df)
- 执行结果
0 3 4
0 0.309674 0.974694 0.660285
1 0.677328 0.969440 0.953452
2 0.954114 0.953569 0.959771
3 0.365643 0.417065 0.951372
4 0.733081 0.880914 0.804032