📜  pandas 从值列表中删除行 - Python (1)

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

pandas 从值列表中删除行 - Python

在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