📅  最后修改于: 2023-12-03 15:21:58.151000             🧑  作者: Mango
在数据分析过程中,删除行是一个常见的操作,特别是在数据清洗时。在 Python 中,通过 Pandas 包提供了许多方法来对数据进行操作。下面介绍在 Pandas 数据框中删除行的几种方法。
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行。
# 删除 age 大于 30 的行
df = df[df['age'] <= 30]
print(df)
运行结果为:
name age
0 Alex 23
在 Pandas 中,可以使用布尔索引(Boolean indexing)来选取符合条件的行。只需指定符合条件的列或判断表达式,即可选出符合条件的行,然后将其删除即可。
# 创建含有重复行的数据框
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()
方法可以删除数据框中的重复行。如果整行数据与前面的某一行完全相同,就会删除后面的行。
# 创建含有空值的数据框
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 的理解和使用。