我正在尝试使用<access origin="tel:*" launch-external="yes" />
在DataFrame中将列的数据类型从type: object
更改为type: int64
。
.map()
这是我的功能:
df['one'] = df['one'].map(convert_to_int_with_error)
这成功完成。但是,当我在完成后检查数据类型时,它将恢复为def convert_to_int_with_error(x):
if not x in ['', None, ' ']:
try:
return np.int64(x)
except ValueError as e:
print(e)
return None
else:
return None
if not type(x) == np.int64():
print("Not int64")
sys.exit()
:
type: float
答案 0 :(得分:2)
我认为问题是您的问题值已从None
转换为NaN
,因此int
会转换为float
- 请参阅docs。
相反map
您可以使用带有参数errors='coerce'
的{{3}}将有问题的值转换为NaN
:
df['one'] = pd.to_numeric(df['one'], errors='coerce')