我想在列表的每个元素中添加一个常量值作为前缀.我想做一些类似这篇文章的事情.但上面的答案正在使用for循环.我想在我的程序中使用for循环.
我的目标是我要创建它值应该是一个列表"unknown contact number 0", "unknown contact number 1","unknown contact number 2"..."unknown contact number n".这里unknown contact number是我的前缀.我想在我的列表中添加此元素.
到目前为止我试过这个,
x=pd.DataFrame(index=range(val))
print ('unknown contact number '+x.index.astype(str)).values.tolist()
Run Code Online (Sandbox Code Playgroud)
我的问题是我是否在代码中添加了更复杂的内容以避免循环?或任何其他更好的方法来解决这个问题?
提前致谢.
如果性能很重要可以使用f-strings,因为pandas中的文本函数很慢:
a = [f'unknown contact number {i}' for i in range(N)]
Run Code Online (Sandbox Code Playgroud)
时间:
N = 10000
In [31]: %timeit ('unknown contact number ' + pd.Series(np.arange(N)).astype(str)).tolist()
6.63 ms ± 708 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
In [32]: %timeit [f'unknown contact number {i}' for i in range(N)]
317 µs ± 3.61 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
Run Code Online (Sandbox Code Playgroud)