簡體   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