मुझे पांडा मॉड्यूल पर CSV (या txt फ़ाइल) पढ़ने में कोई समस्या है क्योंकि numpy के loadtxt फ़ंक्शन में बहुत अधिक समय लगता है, इसलिए मैंने इसके बजाय pandas read_csv का उपयोग करने का निर्णय लिया।पायथन पांडस सीएसवी फ़ाइल की पहली पंक्ति नहीं पढ़ता
मैं अंतरिक्ष से अलग चार कॉलम के साथ txt फ़ाइल से एक numpy सरणी बनाना चाहता हूं, और इसमें बड़ी संख्या में पंक्तियां हैं (जैसे, 256^3। इस उदाहरण में, यह 64^3 है)।
समस्या यह है कि मुझे नहीं पता कि क्यों, लेकिन ऐसा लगता है कि पांडा के 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])
च [0] और जी [0] के रूप में एक निर्गम ज्यादा करना पड़ता है प्रदर्शित किया जाता है कि लेकिन यह नहीं करता है, यह दर्शाता है कि पांडा Testarray.txt
की पहली पंक्ति लंघन है। इसके अलावा, लोड की गई फ़ाइल की लंबाई g
सरणी f
की लंबाई से कम है।
मुझे सहायता चाहिए।
अग्रिम धन्यवाद।
आप numpy में क्यों सहेज रहे हैं और फिर पांडा में पढ़ रहे हैं? यह धीमा हो सकता है, इसके बजाय सरणी को अंडा में पांडा डेटाफ्रेम में परिवर्तित करें, फिर सीएसवी को लिखें। यह बहुत तेज है। – pbu
ओह, यह सिर्फ एक उदाहरण है। मैं इसे पढ़ने में दिलचस्पी नहीं रखता यह इसे बचा नहीं है। धन्यवाद! – Tom