【发布时间】:2021-12-15 18:18:49
【问题描述】:
我有一个数据框,其中有一列名为 year 的对象格式。我想将对象转换为 int 但我有这个错误:
ValueError: int() 以 10 为底的无效文字:'2021.0'
这是我的代码:
data_h_df['year'].astype(str).astype(int)
【问题讨论】:
我有一个数据框,其中有一列名为 year 的对象格式。我想将对象转换为 int 但我有这个错误:
ValueError: int() 以 10 为底的无效文字:'2021.0'
这是我的代码:
data_h_df['year'].astype(str).astype(int)
【问题讨论】:
先转换成浮点数,再转换成整数:
data_h_df['year'].astype(float).astype(int)
如果有NaNs,则使用Int64 表示带有NaNs 的整数:
data_h_df['year'].astype(float).astype('Int64')
【讨论】:
ValueError: Cannot convert non-finite values (NA or inf) to integer
data_h_df['year'].astype(float).astype('Int64'),它工作正常。
将“忽略”分配给“错误”参数。
>>> data_h_df['year'].astype(float).astype(int, errors='ignore')
>>> data_h_df['year']
0 2021.0
1 2022.0
2 NaN
3 2.0
dtype: float64
【讨论】: