Python pandas删除指定行/列数据的方法实例

  • Post category:Python

下面是详细的“Python pandas删除指定行/列数据的方法实例”的攻略。

一、背景介绍

在进行数据分析任务时,常常需要对数据进行清理和预处理。其中,删除指定行或者列的操作是常见的数据清洗操作。在 Python 的数据分析库中,pandas 提供了多种删除行/列数据的方法,本文将详细介绍这些方法。

二、删除指定行数据

在 pandas 中,删除指定行数据的方法主要有两种:使用 drop() 方法和使用布尔索引。下面将分别对它们进行介绍。

1. 使用 drop() 方法

使用 drop() 方法可以删除指定的行数据。例如,假设有一个名为 df 的数据框,其中含有名为 id 的列,如果想要删除 id 值为 1 的行,可以使用以下代码:

df = df.drop(df[df['id']==1].index)

该代码中:

  • df['id']==1 表示选出 df 数据框中 id 列等于 1 的行;
  • df[df['id']==1].index 表示选出的行的索引。
  • df.drop(df[df['id']==1].index) 表示删除选出的行。

下面给出一个完整的代码示例:

import pandas as pd

# 创建数据框
data = {'id': [1, 2, 3, 4, 5], 'name': ['Alice', 'Bob', 'Cathy', 'David', 'Eva'], 'age': [21, 22, 23, 24, 25]}
df = pd.DataFrame(data)

# 删除 id=1 的行
df = df.drop(df[df['id']==1].index)

# 输出结果
print(df)

输出结果为:

   id   name  age
1   2    Bob   22
2   3  Cathy   23
3   4  David   24
4   5    Eva   25

2. 使用布尔索引

另外一种删除指定行数据的方式是使用布尔索引。具体来说,可以使用布尔索引选取需要保留的行数据,然后重新定义数据框。例如,假设要删除 id 值为 1 的行,可以使用以下代码:

df = df[df['id']!=1]

该代码中 df['id']!=1 表示选出 df 数据框中 id 列不等于 1 的行。

下面给出一个完整的代码示例:

import pandas as pd

# 创建数据框
data = {'id': [1, 2, 3, 4, 5], 'name': ['Alice', 'Bob', 'Cathy', 'David', 'Eva'], 'age': [21, 22, 23, 24, 25]}
df = pd.DataFrame(data)

# 删除 id=1 的行
df = df[df['id']!=1]

# 输出结果
print(df)

输出结果为:

   id   name  age
1   2    Bob   22
2   3  Cathy   23
3   4  David   24
4   5    Eva   25

三、删除指定列数据

在 pandas 中,删除指定列数据的方法主要有两种:使用 drop() 方法和使用 del 关键字。下面将分别对它们进行介绍。

1. 使用 drop() 方法

使用 drop() 方法可以删除指定的列数据。例如,假设有一个名为 df 的数据框,如果想要删除名为 id 的列,可以使用以下代码:

df = df.drop('id', axis=1)

该代码中:

  • 'id' 表示要删除的列的列名;
  • axis=1 表示要删除的是列数据。如果要删除的是行数据,可以将 axis=1 改为 axis=0

下面给出一个完整的代码示例:

import pandas as pd

# 创建数据框
data = {'id': [1, 2, 3, 4, 5], 'name': ['Alice', 'Bob', 'Cathy', 'David', 'Eva'], 'age': [21, 22, 23, 24, 25]}
df = pd.DataFrame(data)

# 删除 id 列
df = df.drop('id', axis=1)

# 输出结果
print(df)

输出结果为:

    name  age
0  Alice   21
1    Bob   22
2  Cathy   23
3  David   24
4    Eva   25

2. 使用 del 关键字

另外一种删除指定列数据的方式是使用 del 关键字。具体来说,可以使用 del 关键字删除指定的列数据,例如,假设有一个名为 df 的数据框,如果想要删除名为 id 的列,可以使用以下代码:

del df['id']

该代码的意思是删除 df 数据框中名为 id 的列。

下面给出一个完整的代码示例:

import pandas as pd

# 创建数据框
data = {'id': [1, 2, 3, 4, 5], 'name': ['Alice', 'Bob', 'Cathy', 'David', 'Eva'], 'age': [21, 22, 23, 24, 25]}
df = pd.DataFrame(data)

# 删除 id 列
del df['id']

# 输出结果
print(df)

输出结果为:

    name  age
0  Alice   21
1    Bob   22
2  Cathy   23
3  David   24
4    Eva   25

以上就是Python pandas删除指定行/列数据的方法实例的完整攻略。