📅  最后修改于: 2023-12-03 15:18:14.432000             🧑  作者: Mango
在pandas中,可以通过值列表来删除行。下面是一个简单的例子:
import pandas as pd
# 创建一个DataFrame
data = {'name': ['Tom', 'Jerry', 'Spike', 'Tyke'],
'age': [12, 13, 5, 2],
'gender': ['M', 'M', 'M', 'F']}
df = pd.DataFrame(data)
print(df)
# 删除年龄为5岁的行
df = df[~(df['age'] == 5)]
print(df)
输出:
name age gender
0 Tom 12 M
1 Jerry 13 M
2 Spike 5 M
3 Tyke 2 F
name age gender
0 Tom 12 M
1 Jerry 13 M
3 Tyke 2 F
在上面的例子中,我们使用 ~
运算符表示删除行。如果要删除多个条件的行,可以使用 &
或 |
运算符来组合它们。
另外,还可以使用 drop
方法来删除行。下面是一个简单的例子:
import pandas as pd
# 创建一个DataFrame
data = {'name': ['Tom', 'Jerry', 'Spike', 'Tyke'],
'age': [12, 13, 5, 2],
'gender': ['M', 'M', 'M', 'F']}
df = pd.DataFrame(data)
print(df)
# 通过值列表删除行
drop_index = df[df['age'].isin([5, 2])].index
df = df.drop(drop_index)
print(df)
输出:
name age gender
0 Tom 12 M
1 Jerry 13 M
2 Spike 5 M
3 Tyke 2 F
name age gender
0 Tom 12 M
1 Jerry 13 M
在上面的例子中,我们使用 isin
方法来查找符合条件的行,并使用 drop
方法来删除它们。注意,drop
方法不会修改原始DataFrame对象,而是返回一个新的对象。如果需要直接修改原始对象,可以将 inplace
参数设置为 True
。