根据条件从pandas DataFrame中删除行

詹姆斯·格德斯

我是熊猫的新手,所以请原谅新手问题!

我有以下代码;

import pandas as pd

pet_names = ["Name","Species"
"Jack","Cat"
"Jill","Dog"
"Tom","Cat"
"Harry","Dog"
"Hannah","Dog"]

df = pd.DataFrame(pet_names)

df = df[df['Species']!='Cat']

print(df)

我想删除“种类”列中所有包含“猫”的行,而将所有的狗都留在后面。我该怎么做呢?不幸的是,此代码当前返回错误。

cs95

一般 boolean indexing

df[df['Species'] != 'Cat']
# df[df['Species'].ne('Cat')]

  Index    Name Species
1     1    Jill     Dog
3     3   Harry     Dog
4     4  Hannah     Dog

df.query

df.query("Species != 'Cat'")

  Index    Name Species
1     1    Jill     Dog
3     3   Harry     Dog
4     4  Hannah     Dog

有关pd.eval()功能系列,其功能和使用案例的信息,请访问使用pd.eval()在熊猫中进行动态表达评估


df.isin

df[~df['Species'].isin(['Cat'])]

  Index    Name Species
1     1    Jill     Dog
3     3   Harry     Dog
4     4  Hannah     Dog

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章