📅  最后修改于: 2023-12-03 15:10:41.397000             🧑  作者: Mango
在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中删除符合特定条件的行。您可以使用列中的任何值来执行此操作,只需提供一个布尔值选择器即可。