在使用df["star"] = df["star"].str.strip().astype(int)和df["sentiment"] = df["star"].apply(lambda x: 1 if x >= 1 else 0)之后出现了报错ValueError: invalid literal for int() with base 10: '1\u200b'
时间: 2023-06-17 11:02:15 浏览: 215
Python ValueError: invalid literal for int() with base 10 实用解决方法
这个错误是因为字符串中含有不可见字符"\u200b"(零宽空格),需要先将字符串中的不可见字符去掉才能转换为整数。你可以使用str.replace()方法来去掉不可见字符,例如:
```
df["star"] = df["star"].str.replace('\u200b', '').str.strip().astype(int)
```
这行代码先使用str.replace()方法将字符串中的不可见字符替换为空字符串,然后再使用str.strip()方法去除字符串两端的空格,最后使用astype(int)方法将字符串转换为整数类型。这样就可以避免出现报错了。
阅读全文