2012-07-06 28 views
11

क्या ऑब्जेक्ट सरणी को फ़्लैट करने के लिए NumPy में कोई आसान तरीका है?Flatten numpy array

I1 a = np.array([[1],[2],[3]]) 

I2 a.flatten() 
O2 array([1, 2, 3]) 

हालांकि, मैं dtype नहीं मिल सकता है = वस्तु सरणी चपटा:

I4 b 
O4 array([[1], [2, 3], [3]], dtype=object) 

I5 b.flatten() 
O5 array([[1], [2, 3], [3]], dtype=object) 

मैं .flatten() विधि गैर ऑब्जेक्ट प्रकार एक ही आकार सरणियों से निर्माण किया सरणियों सपाट पता धन्यवाद।

+2

कोशिश उदाहरण पहले से ही के रूप में फ्लैट के रूप में यह हो सकता है ('b.shape = (3,)')! Flatten द्वारा आप वास्तव में क्या मतलब है? –

+0

हां, लेकिन व्यावहारिक रूप से, मैं बी को [1,2,3,3] –

उत्तर

28

अगर आप चाहते हैं [1,2,3,3], इस तो

np.hstack(b) 
+1

नाइस में बदलना चाहता हूं। मैं इसे पोस्ट करने वाला था (जो सटीक वही काम करता है): [x बीबी में एक्स के लिए बीबी में बीबी] –

+1

@urinieto वास्तव में आपके द्वारा पोस्ट की गई सूची समझ-आधारित विधि तेज़ी से है, हालांकि यह थोड़ी अच्छी तरह से बसने के लिए है numpy रास्ता है। – nye17

+0

20k तत्व की सरणी के बारे में कैसे? –