我是 Pandas 的新手,所以请原谅新手问题!
我有以下代码;
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)
我想删除“物种”列中所有包含“猫”的行,留下所有的狗。我该怎么做呢?不幸的是,此代码当前返回错误。
请您参考如下方法:
一般 bool 索引
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() 函数系列及其功能和用例的信息,请访问 Dynamic Expression Evaluation in pandas using pd.eval() .
df.isin
df[~df['Species'].isin(['Cat'])]
Index Name Species
1 1 Jill Dog
3 3 Harry Dog
4 4 Hannah Dog
