![](/img/trans.png)
[英]pandas astype doesn't work as expected (fails silently and badly)
[英]In Pandas, astype() just plain doesn't work
这就是我要说的:
df["rating"] = df["rating"].astype(str, errors='ignore')
df.dtypes
这是它打印的内容:
name object
platform object
year_of_release int64
genre object
na_sales float64
eu_sales float64
jp_sales float64
other_sales float64
critic_score float64
user_score float64
rating object
total_sales float64
reviewed bool
dtype: object
如您所见,评级仍然是 object 而不是字符串。 为什么会这样?
尝试使用这个命令
df["rating"]=df["rating"].apply(obj).astype('str')
从 Pandas 1.0 开始,引入了扩展类型StringDtype
。 每个使用文本数据文档:
pandas存储文本数据有两种方式:
object
-dtype NumPy 数组。StringDtype
扩展类型。我们建议使用
StringDtype
来存储文本数据。在 pandas 1.0 之前,object
dtype
是唯一的选择。
目前,使用astype(str)
,您正在渲染一个object
类型,它可以包含任何类型的混合,包括数字和字符串。 但是,从 Pandas 1.0+ 开始,您现在可以使用专用的字符串类型:
df["rating"] = df["rating"].astype("string")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.