Pandas中使用DataFrame进行数据删除

Pandas中使用DataFrame进行数据删除

  • 一.函数
  • 二.总结
  • 三.例子
    • 1.根据默认的行列索引操作
      • 1.1行删除
      • 1.2列删除

一.函数

DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

参数含义:

  • labels:要删除的行或列,用列表给出
  • axis:默认为0,指要删除的是行,删除列时需指定axis为1
  • index :直接指定要删除的行,删除多行可以使用列表作为参数
  • columns:直接指定要删除的列,删除多列可以使用列表作为参数
  • inplace: 默认为False,该删除操作不改变原数据;inplace = True时,改变原数据

二.总结

  • 删除行或列两种方式
  1. 通过参数labels和axis 来指定
  2. 通过参数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

你可能感兴趣的:(python,pandas,数据分析)