簡體   English   中英

如何提高計算速度str到float

[英]how to improve the calculation speed str to float

df['distance'].iloc[0]

output:'0.02790952'

type(df['distance'].iloc[0])

output:str

df.shape

(118884, 40)

我嘗試將字符串解析為浮點數

for i in tqdm(range(len(df['distance']))):
    df['distance'].iloc[i] = float(df['distance'].iloc[i])

這是幾種方法之間的快速比較。 我使用了單列 DataFrame,有 100 萬行。

使用.apply(np.float)

%%timeit 
df[0].apply(np.float)
476 ms ± 6.65 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

使用.astype(float)

%%timeit
df[0].astype(float)
336 ms ± 2.66 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

使用pd.to_numeric

%%timeit
pd.to_numeric(df[0])
244 ms ± 2.28 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

使用pd.Seriesdtype參數

%%timeit
pd.Series(df[0], dtype=np.float64)
333 ms ± 2.88 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

獲勝者是pd.to_numeric ,對於任何閱讀此內容的人,如果您想到更快的方法,請發表評論!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM