📜  条件行删除 pandas - Python (1)

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

条件行删除 Pandas - Python

在Pandas中,我们可以使用条件行删除来删除符合特定条件的行。删除行的条件可在DataFrame中使用布尔值选择器。

以下是一个简单的例子,我们将删除'Score'列中小于70的所有行:

import pandas as pd

# 创建一个 DataFrame
data = {"Name": ["John", "Sarah", "Adam", "Rachel", "Michael"],
        "Score": [85, 65, 34, 98, 56]}

df = pd.DataFrame(data)

# 删除所有 Score 列小于 70 的行
df = df[df.Score >= 70]
print(df)

输出:

      Name  Score
0     John     85
3   Rachel     98

我们使用df.Score >= 70来得到一个布尔值选择器,该选择器具有'列Score中的所有值是否大于或等于70'的布尔值。我们使用此选择器来选择所有行,其中'Score'列的值大于或等于70。

我们可以如下改写来删除'Score'列小于70的所有行,内联代码中展示了pandas的长形式和简形式调用:

import pandas as pd

# 创建一个 DataFrame
data = {"Name": ["John", "Sarah", "Adam", "Rachel", "Michael"],
        "Score": [85, 65, 34, 98, 56]}

df = pd.DataFrame(data)

# 删除所有 Score 列小于 70 的行
df.drop(df[df.Score < 70].index, inplace=True)
print(df)

输出:

      Name  Score
0     John     85
3   Rachel     98

我们首先使用长形式调用df[df.Score < 70]返回符合筛选条件的DataFrame,再使用index方法获得筛选结果的行标,最后将其作为参数传递给drop方法,这样我们就可以轻松地根据条件来删除行。

总结

使用条件行删除是一种简单且非常实用的方法,可用于从Pandas DataFrame中删除符合特定条件的行。您可以使用列中的任何值来执行此操作,只需提供一个布尔值选择器即可。