繁体   English   中英

将 dataframe object 转换为 int64 时出错

[英]Error when converting dataframe object into int64

再会。 我正在研究 2 个数据框,稍后我将进行比较, playersDataallStar playerData['Year']是 int64 类型,而 allStar 是 object 类型。 我尝试使用以下代码转换playerData['Year']

playersData['Year'] = playersData['Year'].astype(str).astype(int)

但它显示错误说:

ValueError: invalid literal for int() with base 10: 'nan'

我使用的代码来自链接: https://www.kite.com/python/answers/how-to-convert-a-pandas-dataframe-column-from-object-to-int-in-python

这是有关我的数据框类型的参考图片:

2个数据帧的dtypes

尝试从数据集中删除所有 nan 值。

playersData.dropna(inplace=True)

您可以删除包含 NaN 值的行或将它们替换为常量(如果其他列包含有价值的信息很少,删除行可能不是一个好的选择)。

  1. 如果你想删除playersData.dropna(inplace=True)playersData = playersData.dropna()

  2. 替换为常量(例如:0) playersData['Year'].fillna(0, inplace=True)playersData['Year'] = playersData['Year'].fillna(0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM