将浮动数转换为pandas数据帧中的整数

时间:2016-12-07 17:04:45

标签: pandas

我有一个带有'distance'列的pandas数据框,它的数据类型为'float64'。

decimal.Decimal

我想将这些数字转换为整数(14,0,0,1)。我试过这个,但我收到错误“ValueError:无法将NA转换为整数”。

Distance
14.827379
0.754254
0.2284546
1.833768

任何帮助都将不胜感激!!

2 个答案:

答案 0 :(得分:1)

我使用以下方法从数据框中过滤掉了NaN:

result = result[np.isfinite(result['distance(km)'])]

然后,我能够从float转换为int。

答案 1 :(得分:0)

另一种方法是将NaN值转换为数据导入和清理过程的一部分。更通用的解决方案可能涉及通过设置na_values标志来指定read_table命令中的NaN值。你想要确定的是,在你的一个领域中没有像1.5km这样的一些malfored数据被拿起作为NaN值。

pandas.read_table(..., na_values=None, keep_default_na=True, na_filter=True, ....)

随后,一旦填充了数据框并正确识别了NaN值,您就可以使用fillna方法替换为零或您确定为距离的值。 最后,最好使用notnullisfinite将over转换为整数。