📜  从数据框python中删除行(1)

📅  最后修改于: 2023-12-03 15:21:58.151000             🧑  作者: Mango

从数据框 Python 中删除行

在数据分析过程中,删除行是一个常见的操作,特别是在数据清洗时。在 Python 中,通过 Pandas 包提供了许多方法来对数据进行操作。下面介绍在 Pandas 数据框中删除行的几种方法。

1. 删除指定行
import pandas as pd

# 创建数据框
data = {'name': ['Alex', 'Bob', 'Charlie', 'David'], 'age': [23, 28, 34, 45]}
df = pd.DataFrame(data)

# 删除指定行
df = df.drop([1, 3])  # 删除第2行和第4行

print(df)

运行结果为:

       name  age
0      Alex   23
2  Charlie   34

使用 drop() 方法可以实现删除指定行的操作。方法的参数为指定要删除的行数的索引列表。在上面的例子中,参数 [1, 3] 表示要删除第2行和第4行。

2. 根据条件删除行
# 删除 age 大于 30 的行
df = df[df['age'] <= 30]

print(df)

运行结果为:

   name  age
0  Alex   23

在 Pandas 中,可以使用布尔索引(Boolean indexing)来选取符合条件的行。只需指定符合条件的列或判断表达式,即可选出符合条件的行,然后将其删除即可。

3. 删除重复行
# 创建含有重复行的数据框
data = {'name': ['Alex', 'Bob', 'Charlie', 'David', 'Bob'], 'age': [23, 28, 34, 45, 28]}
df = pd.DataFrame(data)

# 删除重复行
df = df.drop_duplicates()

print(df)

运行结果为:

       name  age
0      Alex   23
1       Bob   28
2  Charlie   34
3     David   45

使用 drop_duplicates() 方法可以删除数据框中的重复行。如果整行数据与前面的某一行完全相同,就会删除后面的行。

4. 删除空值行
# 创建含有空值的数据框
data = {'name': ['Alex', 'Bob', None, 'David'], 'age': [23, 28, None, 45]}
df = pd.DataFrame(data)

# 删除空值行
df = df.dropna()

print(df)

运行结果为:

   name  age
0  Alex   23
1   Bob   28
3  David   45

使用 dropna() 方法可以删除数据框中的空值行。如果数据框中有空值,就会删除空值所在的行。

以上就是在 Pandas 数据框中删除行的几种方法,不同的情况可以选择不同的方法。在实际的工作中,多尝试几种方法可以加深对 Pandas 的理解和使用。