📅  最后修改于: 2023-12-03 14:50:18.412000             🧑  作者: Mango
在 Pandas 中,我们可以使用 drop
方法删除具有特定值的行。
下面是一个示例代码片段:
import pandas as pd
# 创建示例数据
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 30, 35, 40, 45],
'city': ['Atlanta', 'Boston', 'Chicago', 'Denver', 'Atlanta']}
df = pd.DataFrame(data)
# 输出原始数据框
print("原始数据:\n", df)
# 删除城市为 Atlanta 的行
df = df.drop(df[df.city == "Atlanta"].index)
# 输出删除后的数据框
print("\n删除城市为 Atlanta 的行后的数据:\n", df)
输出结果:
原始数据:
name age city
0 Alice 25 Atlanta
1 Bob 30 Boston
2 Charlie 35 Chicago
3 David 40 Denver
4 Emily 45 Atlanta
删除城市为 Atlanta 的行后的数据:
name age city
1 Bob 30 Boston
2 Charlie 35 Chicago
3 David 40 Denver
在上面的代码中,我们首先创建一个示例数据框 df
。然后使用 drop
方法删除了城市为 Atlanta 的行。具体实现是使用布尔索引定位到这些行,然后使用 index
属性指定要删除的行。drop
方法返回一个新数据框,并将其分配回 df
变量。
除此之外,我们也可以使用 .loc[]
方法来删除具有特定值的行。下面是一个代码片段示例:
import pandas as pd
# 创建示例数据
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 30, 35, 40, 45],
'city': ['Atlanta', 'Boston', 'Chicago', 'Denver', 'Atlanta']}
df = pd.DataFrame(data)
# 输出原始数据框
print("原始数据:\n", df)
# 使用 .loc[] 方法删除城市为 Atlanta 的行
df = df.loc[df.city != "Atlanta"]
# 输出删除后的数据框
print("\n删除城市为 Atlanta 的行后的数据:\n", df)
输出结果:
原始数据:
name age city
0 Alice 25 Atlanta
1 Bob 30 Boston
2 Charlie 35 Chicago
3 David 40 Denver
4 Emily 45 Atlanta
删除城市为 Atlanta 的行后的数据:
name age city
1 Bob 30 Boston
2 Charlie 35 Chicago
3 David 40 Denver
在上面的代码中,我们使用了 .loc[]
方法通过布尔索引删除了城市为 Atlanta 的行。值得注意的是,我们在布尔索引中使用了 !=
运算符来选择城市不为 Atlanta 的行。与使用 drop
方法删除行相比,使用 .loc[]
方法更加直观。