簡體   English   中英

將pandas整數系列轉換為字符串的最有效方法?

[英]Most efficient way to convert pandas series of integers to strings?

.astype(str)是將一系列int轉換為一系列字符串的最有效方法嗎? 似乎很慢,所以我想問。

我嘗試了幾件事,發現使用numpy的更快方法:

setup = """
import pandas, numpy
s = pandas.Series(numpy.random.randint(1,10,(100)))
"""

>>> timeit.timeit('s.astype(str)', setup=setup, number=10000)
3.33058500289917
>>> timeit.timeit('s.apply(str)', setup=setup, number=10000)
3.572000026702881
>>> timeit.timeit('s.apply(lambda x: str(x))', setup=setup, number=10000)
3.821247100830078
>>> timeit.timeit('s.values.astype(numpy.str)', setup=setup, number=10000)
0.08432412147521973

如您所見,使用values訪問numpy數組並使用astype調用比下一個最快的方法快40倍以上。

暫無
暫無

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

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