我正在尝试根据熊猫在"价格"列的单元格中是否包含"/"来删除熊猫中的行。我提到了一个问题:如果熊猫包含"???"。
因此,我尝试了两个代码:
df = df[~df["Price"].str.contains('/')]
和
df = df[~df["Price"].str.contains('/',regex=False)]
但是,两个代码都会给出错误:AttributeError: Can only use .str accessor with string values!
作为参考,数据帧的前几行如下所示:
Fruit Price
0 Apple 3
1 Apple 2/3
2 Banana 2
3 Orange 6/7
我可以知道出了什么问题以及如何解决这个问题吗?谢谢!
试试这个:
df = df[~df['Price'].astype(str).str.contains('/')]
print(df)
Fruit Price
0 Apple 3
2 Banana 2
您需要先将价格列转换为字符串,然后再应用此操作。我相信价格列没有数据类型字符串
df['Price'] = df['Price'].astype(str)
然后尝试
df = df[~df["Price"].str.contains('/',regex=False)]