pandas drop 删除行和列的方法


文章目录

  • pandas drop 删除行和列的方法
  • 删除行
  • 按行索引删除
  • 删除单行
  • 删除多行
  • 删除列
  • 按列索引删除(列本来是没有索引的,用df.columns[1]转化一下)
  • 删除单列
  • 删除多列
  • 按列名删除
  • 删除单列
  • 删除多列


删除行

按行索引删除

删除单行
import pandas as pd

df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                   'B': ['B0', 'B1', 'B2', 'B3'],
                   'C': ['C0', 'C1', 'C2', 'C3'],
                   'D': ['D0', 'D1', 'D2', 'D3']},
                  index=[0, 1, 2, 3])

print(df)
df.drop(
    labels=1,  # 行索引
    axis=0,  # 0表示按行删除,1表示按列删除,默认为0,可以省略。
    # level=None,  # int或者索引名。代表标签所在级别
    inplace=True,  # 代表操作是否对原数据有效
)
print(df)
删除多行
import pandas as pd

df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                   'B': ['B0', 'B1', 'B2', 'B3'],
                   'C': ['C0', 'C1', 'C2', 'C3'],
                   'D': ['D0', 'D1', 'D2', 'D3']},
                  index=[0, 1, 2, 3])

print(df)
df.drop(
    labels=[0, 1],  # 行索引
    axis=0,  # 0表示按行删除,1表示按列删除。默认为0,可以省略。
    # level=None,  # int或者索引名。代表标签所在级别
    inplace=True,  # 代表操作是否对原数据有效
)
print(df)

删除列

按列索引删除(列本来是没有索引的,用df.columns[1]转化一下)

删除单列
import pandas as pd

df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                   'B': ['B0', 'B1', 'B2', 'B3'],
                   'C': ['C0', 'C1', 'C2', 'C3'],
                   'D': ['D0', 'D1', 'D2', 'D3']},
                  index=[0, 1, 2, 3])

print(df)
df.drop(
    labels=df.columns[1],  # 列索引
    axis=1,  # 0表示按行删除,1表示按列删除
    # level=None,  # int或者索引名。代表标签所在级别
    inplace=True,  # 代表操作是否对原数据有效
)
print(df)

可以用columns代替labels

import pandas as pd

df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                   'B': ['B0', 'B1', 'B2', 'B3'],
                   'C': ['C0', 'C1', 'C2', 'C3'],
                   'D': ['D0', 'D1', 'D2', 'D3']},
                  index=[0, 1, 2, 3])

print(df)
df.drop(
    columns=df.columns[1],  # 行列名或者数组(代表几行)如:labels=range(1,4) labels='日期'
    inplace=True,  # 代表操作是否对原数据有效
)
print(df)
删除多列
import pandas as pd

df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                   'B': ['B0', 'B1', 'B2', 'B3'],
                   'C': ['C0', 'C1', 'C2', 'C3'],
                   'D': ['D0', 'D1', 'D2', 'D3']},
                  index=[0, 1, 2, 3])

print(df)
df.drop(
    labels=df.columns[[0, 1]],  # 列索引
    axis=1,  # 0表示按行删除,1表示按列删除
    # level=None,  # int或者索引名。代表标签所在级别
    inplace=True,  # 代表操作是否对原数据有效
)
print(df)

可以用columns代替labels

import pandas as pd

df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                   'B': ['B0', 'B1', 'B2', 'B3'],
                   'C': ['C0', 'C1', 'C2', 'C3'],
                   'D': ['D0', 'D1', 'D2', 'D3']},
                  index=[0, 1, 2, 3])

print(df)
df.drop(
    columns=df.columns[[1, 2]],  # 行列名或者数组(代表几行)如:labels=range(1,4) labels='日期'
    inplace=True,  # 代表操作是否对原数据有效
)
print(df)

按列名删除

删除单列
import pandas as pd

df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                   'B': ['B0', 'B1', 'B2', 'B3'],
                   'C': ['C0', 'C1', 'C2', 'C3'],
                   'D': ['D0', 'D1', 'D2', 'D3']},
                  index=[0, 1, 2, 3])

print(df)
df.drop(
    labels='B',  # 列名
    axis=1,  # 0表示按行删除,1表示按列删除
    # level=None,  # int或者索引名。代表标签所在级别
    inplace=True,  # 代表操作是否对原数据有效
)
print(df)

可以用columns代替labels

import pandas as pd

df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                   'B': ['B0', 'B1', 'B2', 'B3'],
                   'C': ['C0', 'C1', 'C2', 'C3'],
                   'D': ['D0', 'D1', 'D2', 'D3']},
                  index=[0, 1, 2, 3])

print(df)
df.drop(
    columns='B',  # 行列名或者数组(代表几行)如:labels=range(1,4) labels='日期'
    inplace=True,  # 代表操作是否对原数据有效
)
print(df)
删除多列
import pandas as pd

df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                   'B': ['B0', 'B1', 'B2', 'B3'],
                   'C': ['C0', 'C1', 'C2', 'C3'],
                   'D': ['D0', 'D1', 'D2', 'D3']},
                  index=[0, 1, 2, 3])

print(df)
df.drop(
    labels=['B', 'C'],  # 列名或者数组
    axis=1,  # 0表示按行删除,1表示按列删除
    # level=None,  # int或者索引名。代表标签所在级别
    inplace=True,  # 代表操作是否对原数据有效
)
print(df)

可以用columns代替labels

import pandas as pd

df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                   'B': ['B0', 'B1', 'B2', 'B3'],
                   'C': ['C0', 'C1', 'C2', 'C3'],
                   'D': ['D0', 'D1', 'D2', 'D3']},
                  index=[0, 1, 2, 3])

print(df)
df.drop(
    columns=['A', 'B'],  # 行列名或者数组(代表几行)如:labels=range(1,4) labels='日期'
    inplace=True,  # 代表操作是否对原数据有效
)
print(df)
D’: [‘D0’, ‘D1’, ‘D2’, ‘D3’]},
 index=[0, 1, 2, 3])print(df)
 df.drop(
 columns=[‘A’, ‘B’], # 行列名或者数组(代表几行)如:labels=range(1,4) labels=‘日期’
 inplace=True, # 代表操作是否对原数据有效
 )
 print(df)