NumPy क्या है?
NumPy (न्यूमेरिकल पायथन) संख्याओं पर थोक में काम करने की मुफ़्त पायथन लाइब्रेरी (तैयार कोड का पैकेज) है। इसकी मुख्य वस्तु ndarray (n-आयामी array) है।
एक बार इंस्टॉल: pip install numpy। प्रोग्राम में: import numpy as np (np आम छोटा नाम)।
array एक ही प्रकार के आइटमों का समूह है, जो मेमोरी में साथ-साथ रहते हैं और 0 से इंडेक्स होते हैं।
list से 1-D array बनाना
import numpy as np L = [10, 20, 30, 40] a = np.array(L) print(a) # [10 20 30 40] (कॉमा नहीं) print(a[0], a[-1]) # 10 40
list सीधे भी दे सकते हैं: np.array([1.5, 2, 3]), या tuple।
list की list से 2-D array
b = np.array([[1, 2, 3],
[4, 5, 6]])
print(b[1, 2]) # 6 (पंक्ति 1, स्तंभ 2)हर भीतरी list एक पंक्ति बनती है। सारी भीतरी list बराबर लंबाई की हों, वरना सही ग्रिड नहीं बनेगा।
array के गुण: ndim, shape, size, dtype
a.ndim: आयामों की संख्या (पंक्ति के लिए 1, तालिका के लिए 2)।a.shape: हर आयाम का आकार, tuple के रूप में। 4 आइटम के लिए (4,); 2 पंक्ति × 3 स्तंभ के लिए (2, 3)।a.size: कुल आइटम (2 × 3 = 6)।a.dtype: आइटमों का प्रकार (int64, float64, <U…)।a.itemsize: हर आइटम के बाइट।
केवल एक प्रकार: अपकास्टिंग और dtype
list में प्रकार मिले हों तो NumPy सबको एक साझा प्रकार में बदल देता है: int + float → float; कुछ भी + str → str। ख़ुद भी चुन सकते हैं: np.array([1, 2, 3], dtype=float) → [1. 2. 3.]।
list बनाम NumPy array
- list: मिले प्रकार चलते हैं; array: एक प्रकार।
- list:
[1, 2] * 2→ [1, 2, 1, 2]; array:np.array([1, 2]) * 2→ [2 4] (आइटम-दर-आइटम)। - array: कम मेमोरी, बड़े डेटा पर बहुत तेज़।
- list: append से आसानी से बढ़ती है; array: बनते समय आकार तय।
array बनाने के और तरीके (जानना अच्छा): np.zeros(3), np.ones((2, 2)), np.arange(0, 10, 2), np.linspace(0, 1, 5)।
करके देखें: अंक array में
3 दोस्तों के 2 विषयों के अंक list की list में लिखें, जैसे [[70, 80], [65, 90], [88, 75]]। इसे array बनाएँ। चलाने से पहले shape, ndim और size का अनुमान लगाएँ। फिर m + 5 और m.mean() छापें। 3D के कदम 6 के स्लाइडर से shape की समझ जाँचें।
मुख्य सूत्र और परिभाषाएँ
- import numpy as np; a = np.array(list)
- shape = (पंक्तियाँ, स्तंभ); size = पंक्तियाँ × स्तंभ; ndim = आयामों की संख्या
- dtype: int + float → float; str के साथ → str
- array * k हर आइटम गुणा; list * k list दोहराती है
हल किए गए उदाहरण
1. a = np.array([5, 10, 15])। a.ndim, a.shape, a.size बताइए।
ndim = 1, shape = (3,), size = 3।
2. b = np.array([[1, 2], [3, 4], [5, 6]])। shape, size और b[2, 0] बताइए।
3 पंक्ति, 2 स्तंभ → shape (3, 2), size 6। b[2, 0] = 5 (पंक्ति 2, स्तंभ 0)।
3. np.array([1, 2, 3.5]) का dtype क्या है?
float64; यह [1. 2. 3.5] छपता है।
4. [2, 4] * 3 और np.array([2, 4]) * 3 की तुलना करें।
list: [2, 4, 2, 4, 2, 4] (दोहराई)। array: [6 12] (हर आइटम × 3)।
5. अंक m = np.array([60, 72, 85])। सबको 5 ग्रेस अंक दें और औसत निकालें।
m + 5 = [65 77 90]; औसत = (65 + 77 + 90) / 3 = 77.33।
6. एक 2-D array का shape (4, 5) है। कुल कितने आइटम और हर पंक्ति में कितने?
size = 4 × 5 = 20 आइटम; हर पंक्ति में 5।
आम गलतियाँ
- import numpy as np भूलना, फिर np पर NameError।
- np.array([1, 2, 3]) की जगह np.array(1, 2, 3) लिखना।
- array * 2 से list की तरह दोहराव की उम्मीद; यह हर आइटम गुणा करता है।
- अलग-अलग लंबाई की भीतरी list से 2-D array बनाना।