ravel () और flatten () numpy के फ़ंक्शंस दो तकनीकें हैं जिन्हें मैं यहाँ आज़माऊँगा। मैं जो , सिराज , बबल और केवड द्वारा किए गए पदों को जोड़ना चाहूंगा ।
घपला:
A = M.ravel()
print A, A.shape
>>> [1 2 3 4] (4,)
समतल:
M = np.array([[1], [2], [3], [4]])
A = M.flatten()
print A, A.shape
>>> [1 2 3 4] (4,)
numpy.ravel()
यह एक पुस्तकालय स्तर का कार्य है, जो कि किसी भी प्रकार के एरे की नकल नहीं करता है, क्योंकि यह तेजी से होता है। हालाँकि, यदि आप उपयोग कर रहे हैं तो सरणी A में कोई भी बदलाव मूल सरणी M पर ले जाएगाnumpy.ravel()
।
numpy.flatten()
से धीमी हैnumpy.ravel()
। लेकिन अगर आप numpy.flatten()
A बनाने के लिए उपयोग कर रहे हैं , तो A में परिवर्तन मूल सरणी M पर नहीं किया जाएगा ।
numpy.squeeze()
और M.reshape(-1)
से धीमी हैं numpy.flatten()
औरnumpy.ravel()
।
%timeit M.ravel()
>>> 1000000 loops, best of 3: 309 ns per loop
%timeit M.flatten()
>>> 1000000 loops, best of 3: 650 ns per loop
%timeit M.reshape(-1)
>>> 1000000 loops, best of 3: 755 ns per loop
%timeit np.squeeze(M)
>>> 1000000 loops, best of 3: 886 ns per loop