与python2相比,python3的csv写入速度较慢,而pandas的csv写入速度较慢

与python2相比,python3的csv写入速度较慢,而pandas的csv写入速度较慢,python,python-3.x,python-2.7,pandas,export-to-csv,Python,Python 3.x,Python 2.7,Pandas,Export To Csv,有人能解释一下为什么在使用python解释器3而不是2时,使用pandas方法写入csv文件会慢一些吗?从pandas文档中,我发现默认编码是python3=utf-8和python2=ascii,这是我发现的唯一区别。但这并不能解释时间上的巨大差异,因为即使我在python3中将编码参数encoding='ascii'赋给to_csv,结果仍然慢得多 我将spyder与anaconda一起使用,我的数据帧约为80万行,共6列,数据类型为:datetime64[ns]、float64、int64

有人能解释一下为什么在使用python解释器3而不是2时,使用pandas方法写入csv文件会慢一些吗?从pandas文档中,我发现默认编码是python3=utf-8和python2=ascii,这是我发现的唯一区别。但这并不能解释时间上的巨大差异,因为即使我在python3中将编码参数encoding='ascii'赋给to_csv,结果仍然慢得多

我将spyder与anaconda一起使用,我的数据帧约为80万行,共6列,数据类型为:datetime64[ns]、float64、int64、float64、float64、float64

在这两种python环境中,我都安装了pandas 0.22.0版本。Numpy版本也一样,它们是1.14.0。我还在Windows10中运行这些脚本

使用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时不同?

我也遇到过
to_csv
花费大量时间而没有明显解释的问题。