Numpy carga csv demasiado lento en comparación con Matlab

Publiqué esta pregunta porque me preguntaba si hice algo terriblemente mal para obtener este resultado.

Tengo un archivo csv de tamaño mediano y traté de usar numpy para cargarlo. Para ilustrar, hice el archivo usando python:

import timeit
import numpy as np

my_data = np.random.rand(1500000, 3)*10
np.savetxt('./test.csv', my_data, delimiter=',', fmt='%.2f')

Y luego, probé dos métodos: numpy.genfromtxt, numpy.loadtxt

setup_stmt = 'import numpy as np'
stmt1 = """\
my_data = np.genfromtxt('./test.csv', delimiter=',')
"""
stmt2 = """\
my_data = np.loadtxt('./test.csv', delimiter=',')
"""

t1 = timeit.timeit(stmt=stmt1, setup=setup_stmt, number=3)
t2 = timeit.timeit(stmt=stmt2, setup=setup_stmt, number=3)

Y el resultado muestra quet1 = 32.159652940464184, t2 = 52.00093725634724.
Sin embargo, cuando intenté usar matlab:

tic
for i = 1:3
    my_data = dlmread('./test.csv');
end
toc

El resultado muestra: el tiempo transcurrido es3.196465 segundos.

Entiendo que puede haber algunas diferencias en la velocidad de carga, pero:

Esto es mucho más de lo que esperaba;¿No es que np.loadtxt debería ser más rápido que np.genfromtxt?No he probado el módulo csv de Python porque cargar archivos csv es algo muy frecuente que hago y con el módulo csv, la codificación es un poco detallada ... Pero me encantaría probarlo si esa es la única manera . Actualmente me preocupa más si soy yo haciendo algo mal.

Cualquier entrada sería apreciada. ¡Muchas gracias por adelantado!

Respuestas a la pregunta(4)

Su respuesta a la pregunta