У меня проблема с чтением CSV (или TXT файла) в модуле pandas. Поскольку функция numpy loadtxt занимает слишком много времени, я решил использовать вместо этого pandas read_csv.
Я хочу сделать массив из файла txt с четырьмя столбцами, разделенными пробелом, и иметь очень большое количество строк (например, 256 ^ 3. В этом примере это 64 ^ 3).
Проблема в том, что я не знаю почему, но похоже, что pandas read_csv всегда пропускает первую строку (первую строку) файла csv (txt), в результате чего на один раз меньше данных.
вот код
from __future__ import division
import numpy as np
import pandas as pd
ngridx = 4
ngridy = 4
ngridz = 4
size = ngridx*ngridy*ngridz
f = np.zeros((size,4))
a = np.arange(size)
f[:, 0] = np.floor_divide(a, ngridy*ngridz)
f[:, 1] = np.fmod(np.floor_divide(a, ngridz), ngridy)
f[:, 2] = np.fmod(a, ngridz)
f[:, 3] = np.random.rand(size)
print f[0]
np.savetxt('Testarray.txt',f,fmt='%6.16f')
g = pd.read_csv('Testarray.txt',delimiter=' ').values
print g[0]
print len(g[:,3])
f [0] и g [0], которые отображаются в выводе, должны совпадать, но это не так, что указывает на то, что панды пропускают первую строку Testarray.txt
. Также длина загружаемого файла g
меньше длины массива f
.
Мне нужна помощь.
Заранее спасибо.