繁体   English   中英

将列类型更改为int64 pandas geopandas最佳做法

[英]Change column type to int64 pandas geopandas best practice

我试图将包含仅带小数点.0的浮点数的列转换为integer64。 我在该论坛上找到了一些较旧的答案 ,但它们似乎不再起作用。 最终我使用了:

df_test["column_name"] = df_test['column_name'].apply(lambda x: np.int64(x))

我想知道这是否是熊猫的最佳做法,以及与to_numeric()相比如何

pandas ,这将起作用:

df_test['column_name'] = df_test['column_name'].astype('int64')

由于geopandas是建立在pandas之上的,因此它也应该起作用。 至于它与to_numeric比较方式,它们都是矢量化的,并且就速度而言是可比较的:

测试速度astype方法VS的to_numeric一个适度规模的系列方法,我得到的平均0.00007522797584533691astype0.0003248021602630615to_numeric

如果需要最理想的整数格式,则为最佳选择:

df_test["column_name"] = pd.to_numeric(df_test['column_name'], downcast='integer')

这是矢量化的, df.series.apply是一个循环并且很慢。

如果您确实需要np.int64 ,请参阅@sacul的解决方案

暂无
暂无

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

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