खोज…


बाइनरी फ़ाइलों का उपयोग करके खस्ता सरणियों को सहेजना और लोड करना

x = np.random.random([100,100])
x.tofile('/path/to/dir/saved_binary.npy')
y = fromfile('/path/to/dir/saved_binary.npy')
z = y.reshape(100,100)
all(x==z)
# Output:
#     True

लगातार संरचना के साथ पाठ फ़ाइलों से संख्यात्मक डेटा लोड हो रहा है

फ़ंक्शन np.loadtxt का उपयोग csv जैसी फ़ाइलों को पढ़ने के लिए किया जा सकता है:

# File:
#    # Col_1 Col_2
#    1, 1
#    2, 4
#    3, 9
np.loadtxt('/path/to/dir/csvlike.txt', delimiter=',', comments='#')
# Output:
# array([[ 1.,  1.],
#        [ 2.,  4.],
#        [ 3.,  9.]])

एक ही फ़ाइल को np.fromregex साथ एक नियमित अभिव्यक्ति का उपयोग करके पढ़ा जा सकता है:

np.fromregex('/path/to/dir/csvlike.txt', r'(\d+),\s(\d+)', np.int64)
# Output:
# array([[1, 1],
#        [2, 4],
#        [3, 9]])

CSV शैली ASCII फ़ाइल के रूप में डेटा सहेजना

ASCII फ़ाइल में डेटा को सहेजने के लिए np.loadtxt , np.savetxt का उपयोग किया जा सकता है

import numpy as np
x = np.random.random([100,100])
np.savetxt("filename.txt", x)

स्वरूपण को नियंत्रित करने के लिए:

np.savetxt("filename.txt", x, delimiter=", " , 
    newline="\n", comments="$ ", fmt="%1.2f",
    header="commented example text")

आउटपुट:

$ commented example text
0.30, 0.61, 0.34, 0.13, 0.52, 0.62, 0.35, 0.87, 0.48, [...]

CSV फ़ाइलों को पढ़ना

उपलब्ध तीन मुख्य कार्य (मैन पेज से विवरण):

fromfile - एक ज्ञात डेटा-प्रकार के साथ द्विआधारी डेटा को पढ़ने का एक अत्यधिक कुशल तरीका, साथ ही बस स्वरूपित पाठ फ़ाइलों को पार्स करना। टोफाइल विधि का उपयोग करके लिखे गए डेटा को इस फ़ंक्शन का उपयोग करके पढ़ा जा सकता है।

genfromtxt - एक पाठ फ़ाइल से डेटा लोड, लापता मान निर्दिष्ट के रूप में संभाला के साथ। पहली स्किप_हाइडर लाइनों के पिछले प्रत्येक लाइन को सीमांकक चरित्र में विभाजित किया गया है, और टिप्पणी चरित्र का अनुसरण करने वाले वर्णों को छोड़ दिया गया है।

loadtxt - टेक्स्ट फ़ाइल से डेटा लोड करें। पाठ फ़ाइल में प्रत्येक पंक्ति में समान मान होना चाहिए।

genfromtxt के लिए एक आवरण समारोह है loadtxtgenfromtxt उपयोग करने के लिए सबसे सीधा है क्योंकि इसमें इनपुट फ़ाइल से निपटने के लिए कई पैरामीटर हैं।

लगातार कॉलम की संख्या, निरंतर डेटा प्रकार (संख्यात्मक या स्ट्रिंग):

इनपुट फ़ाइल को देखते हुए, सामग्री के साथ myfile.csv :

#descriptive text line to skip
1.0, 2, 3
4, 5.5, 6

import numpy as np
np.genfromtxt('path/to/myfile.csv',delimiter=',',skiprows=1)

एक सरणी देता है:

array([[ 1. ,  2. ,  3. ],
       [ 4. ,  5.5,  6. ]])

कॉलम, मिश्रित डेटा प्रकार (कॉलम के पार) की लगातार संख्या:

1   2.0000  buckle_my_shoe
3   4.0000  margery_door

import numpy as np
np.genfromtxt('filename', dtype= None)


array([(1, 2.0, 'buckle_my_shoe'), (3, 4.0, 'margery_door')], 
dtype=[('f0', '<i4'), ('f1', '<f8'), ('f2', '|S14')])

dtype=None के उपयोग पर ध्यान दें dtype=None परिणाम dtype=None करता है।

स्तंभों की असंगत संख्या:

फ़ाइल: 1 2 3 4 5 6 7 8 9 10 11 22 13 14 15 15 17 17 18 19 20 21 22 23 24

एकल पंक्ति सरणी में:

result=np.fromfile(path_to_file,dtype=float,sep="\t",count=-1)


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow