使用pandas的drop对数据进行删除操作

drop函数参数详解

DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
  1. labels:待删除的行列名,labels = ‘A’ 即表示A列或者A行
  2. axis:{0或1}默认方向为0,纵向也就是列方向,1则表示横向,即行方向
  3. index:某一行或者多行
  4. colums:某一列或者多列
  5. level:等级,针对多重索引,暂时不会遇见
  6. inplace:True 或 False 默认为false,指是否在原数据上做操作
  7. errors:一般不会用到

drop删除行列

df = pd.DataFrame([[1,2,3,3,5],
                   [2,3,4,5,6],
                   [1,3,5,7,9],
                   [2,4,6,8,5]],
                  index=['a','b','c','d'],
                  columns=['A','B','C','D','E'])
df

数据框数据如下
数据框

  • 删除缺失值
## 删除缺失值是dropna函数,顺带一提
df.dropna() ## 删除所有含缺失值的行,默认axis = 0
df.dropna(axis=1) # 删除含缺失值的列
df.dropna(axis='columns') # 删除含有缺失值的列
df['columns'].dropna() # 删除指定列缺失值
  • 直接删除行列
# 删除行数据
df = df.drop(['a'])  ## 方法一,直接填写行索引
df = df.drop(labels = ['a','b']) ## 方法二,使用labels
df = df.drop(index='a')  ## 使用index参数

# 删除列数据
df = df.drop(['A'],axis=1) ## 需加上axis参数才可删除列数据
df = df.drop(labels='A',axis=1)
df = df.drop(columns='A') ## 使用columns参数
  • 删除满足条件行列数据
## 删除行数据
df = df.drop(df.index[df['A'] == 2]) ## 删除A列数值为2的行
df = df.drop(df.index[(df['A'] == 2)|(df['A'] == 3)])  ## 删除A列数值为2或者3的数据所在行
df = df.drop(df.index[(df['A'] >= 2)&(df['A'] < 3)]) ## 删除A列数值大于等于且3的数据所在行

## 删除列数据
df = df.drop(df.columns[df.loc['a'] == 3],axis = 1) ## 删除a行数据为3的列
df = df.drop(df.columns[(df.loc['a'] == 3) | (df.loc['a'] == 2)],axis = 1) 
df = df.drop(df.columns[(df.loc['a'] < 3) & (df.loc['a'] >= 2)],axis = 1)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐