Tôi gặp sự cố khi đọc CSV (hoặc tệp txt) trên mô-đun gấu trúc Vì hàm loadtxt của numpy mất quá nhiều thời gian, nên tôi quyết định sử dụng gấu trúc read_csv thay thế.Python Pandas không đọc hàng đầu tiên của tệp csv
Tôi muốn tạo một mảng khó khăn từ tệp txt với bốn cột được phân tách bằng dấu cách và có số hàng rất lớn (như, 256^3. Trong ví dụ này, nó là 64^3).
Vấn đề là tôi không biết tại sao nhưng có vẻ như read_csv của gấu trúc luôn bỏ qua dòng đầu tiên (hàng đầu tiên) của tệp csv (txt), dẫn đến ít dữ liệu hơn.
đây là mã.
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] và g [0] sẽ được hiển thị như một đầu ra phải nhiều nhưng nó không, chỉ ra rằng gấu trúc được bỏ qua dòng đầu tiên của Testarray.txt
. Ngoài ra, độ dài của tệp được tải g
nhỏ hơn chiều dài của mảng f
.
Tôi cần trợ giúp.
Xin cảm ơn trước.
lý do tại sao bạn tiết kiệm được nhiều tiền và sau đó đọc trong gấu trúc? Nó có thể được làm chậm, thay vì chuyển đổi mảng trong numpy để pandas dataframe sau đó ghi vào csv. Nó nhanh hơn rất nhiều. – pbu
ồ, nó chỉ là một ví dụ. Im quan tâm đến việc đọc Nó không lưu nó. cảm ơn bạn! – Tom