![](/img/trans.png)
[英]Most efficient way to convert date strings to a pandas time series index
[英]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.