任何人都可以澄清为什么在使用python interpreter 3而不是2时使用pandas方法to_csv写入csv文件的方式会慢一些?从pandas文档我发现默认编码python3 = utf-8和python2 = ascii,这是我发现的唯一区别。仍然没有解释时间上的巨大差异,因为即使我给编码参数encoding =' ascii'在python3中,to_csv,结果仍然较慢。
我正在使用带有anaconda的spyder,我的数据框大约是。带有6列的80万行,带有dtypes:datetime64 [ns],float64,int64,float64,float64,float64。
在两个python环境中,我都安装了pandas 0.22.0版本。 Numpy版本也是相同的,它们是1.14.0。我也在Windows 10中运行这些脚本。
使用python-2.7:
start = timer()
df.to_csv(path, index = False, date_format = '%Y-%m-%d %H:%M:%S')
time = timer() - start
87.6402205
start = timer()
df.to_csv(path, index = False, date_format = '%Y-%m-%d %H:%M:%S', encoding = 'utf-8')
time = timer() - start
118.808225
使用pyton-3.5
start = timer()
df.to_csv(path, index = False, date_format = '%Y-%m-%d %H:%M:%S')
time = timer() - start
149.52978580000004
start = timer()
df.to_csv(path, index = False, date_format = '%Y-%m-%d %H:%M:%S', encoding = 'ascii')
time = timer() - start
138.72526400000015
这是什么原因?我是否需要在python3中提供一个特定的浮点格式,默认情况下与使用python2时不同?