小白在这里。
我有一个pandas数据框,并且我试图将一列数字从字符串类型转换为整数。但是,当我使用to_numeric()时,它会转换为浮点数。
我正在使用Jupyter Notebook。
citydata.tcad_id
结果
0 0206180115
2 0125050304
3 0225050137
4 0124000601
...
995 0250300107
996 0217230301
997 0203030703
998 0135070323
999 0204160717
Name: tcad_id, Length: 1000, dtype: object
和
type(citydata.tcad_id[0])
显示前(和后)项是...
str
所以我尝试了
pd.to_numeric(citydata.tcad_id, downcast='integer', errors='coerce')
但这会导致
0 206180115.0
1 419120319.0
2 125050304.0
3 225050137.0
4 124000601.0
...
995 250300107.0
996 217230301.0
997 203030703.0
998 135070323.0
999 204160717.0
Name: tcad_id, Length: 1000, dtype: float64
我需要它们为整数,以便可以与另一个整数列表进行比较。
帮助!
答案 0 :(得分:3)
如果您查看文档here,则会看到以下内容:
The default return dtype is float64 or int64 depending on the data supplied. Use the downcast parameter to obtain other dtypes.
因此,熊猫似乎已决定将您的数据投射到float64
中。使用downcast:'integer'
获取整数值。
答案 1 :(得分:0)
可能为时已晚,但是您的数据中是否存在“ nan”或无穷大?这就是我的问题。您可以尝试做:
__contains__