我有3种水果及其数量的数据。我想排除' Apple'和#梨;'从我的数据,但遇到以下错误。为什么会这样?
import pandas as pd
df=(pd.DataFrame({'Fruit':['Apple','Orange','Pear','Apple','Orange']
,'Qty':[3,4,1,7,9]}))
df=df[df['Fruit'].str.contains('Apple'|'Pear')==False]
print(df)
TypeError:|:' str'不支持的操作数类型和' str'
答案 0 :(得分:3)
|
运算符应该在字符串本身中:
df[df['Fruit'].str.contains('Apple|Pear')==False]
或者,使用否定运算符:
df[~df['Fruit'].str.contains('Apple|Pear')]
Out:
Fruit Qty
1 Orange 4
4 Orange 9
答案 1 :(得分:1)
获得相同结果的替代方法是使用isin
df[~df['Fruit'].isin(['Apple','Pear'])]
Out
Fruit Qty
1 Orange 4
4 Orange 9