我有一个保存csv文件数据的数据框。我想连接几个列,我首先用简单的pandas列连接硬编码,然后我将代码重构为更通用的,但是我在运行时方面受到了严重的惩罚,下面是连接的两个版本及其计时:
t0 = time.time()
cleaned_data_set1 = data_set.col1.map(str)+" "+data_set.col2.map(str)+ " " + data_set.col3.map(str)
t1 = time.time()
print t1-t0
listOfObjectAttributeNames = ["col1","col2","col3"]
t0 = time.time()
cleaned_data_set = data_set.apply(lambda x: " ".join([str(el) for el in x[listOfObjectAttributeNames]]), axis=1)
t1 = time.time()
以下分别是执行时间:
1.20745110512
171.689060926
如何改进第二个版本的运行时间?你知道吗
我设法保留了矢量化版本,并将操作概括如下:
运行时结果:
相关问题 更多 >
编程相关推荐