我需要将数据框列转换为 int。
df['Slot'].unique()
显示这个:
array(['1', '2', '3', '4', 1, 3, 5], dtype=object)
有些值周围有 '',有些则没有。
我尝试将数据类型转换为 int ,如下所示:
df['Slot']=df['Slot'].astype('Int64')
我收到此错误:
TypeError: cannot safely cast non-equivalent object to int64
有什么想法如何转换为 int 吗?
您应该首先转换为数字,然后转换为 Int64:
铸造类型后:
正如评论中所述,如果您使用 numpy 的 int64 类型,则可以从头开始工作:
'Slot'
您遇到的错误是因为无法使用 直接将列中的字符串转换为整数astype('Int64')
。您需要显式处理字符串到整数的转换。pd.to_numeric()
用于将“Slot”列中的值转换为数字类型。该errors='coerce'
参数将确保不可转换的值(如字符串)转换为NaN
.