У меня возникла проблема с чтением CSV (или txt-файла) в модуле pandas Поскольку функция loadtxt numpy занимает слишком много времени, я решил вместо этого использовать pandas read_csv.Python Pandas не читает первую строку csv-файла
Я хочу сделать массив numpy из txt-файла с четырьмя столбцами, разделенными пробелом, и имеет очень большое количество строк (например, 256^3. В этом примере это 64^3).
Проблема в том, что я не знаю почему, но кажется, что read_csv pandas всегда пропускает первую строку (первую строку) файла 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] и г [0], который отображается как выход должен много, но это не делает, указывая, что панды пропускает первую линию Testarray.txt
. Кроме того, длина загруженного файла g
меньше длины массива f
.
Мне нужна помощь.
Заранее спасибо.
Почему вы сохраняете в numpy, а затем читаете в пандах? Это может быть медленным, вместо этого преобразовать массив в numpy в pandas dataframe, а затем записать в csv. Это намного быстрее. – pbu
О, это просто пример. Мне интересно читать Это не спасает. Спасибо! – Tom