# P12.1 NumPy म्हणजे काय आणि Lists ऐवजी का वापरायचं?

Source: https://ravindrabagale.com/mr/datascience/py12-numpy-tutorial-for-beginners-arrays-math-and-filtering/p12-1-what-is-numpy-and-why-use-it-instead-of-lists.html
Language: mr (Marathi with English technical terms)

हे का शिकायचं?

लाखो numbers वर loop हळू चालतो. NumPy तेच काम एका line मध्ये आणि खूप वेगाने करतो.

हे काय आहे?

NumPy array म्हणजे एकाच type च्या numbers ची रांग. array * 2 प्रत्येक value ला 2 ने गुणतो — loop नको.

कसं करायचं?

Step 1. import numpy as np
Step 2. np.array(list) ने array बनवा.
Step 3. थेट गणित करा.

Python आणि इतर भाषा: तुलना

- Python list: [p + 2 for p in prices]
- NumPy: prices + 2
- JavaScript: prices.map(p => p + 2)
- Java: Arrays.stream(prices).map(p -> p + 2).toArray()

उदाहरण A: List विरुद्ध array

```python
import numpy as np
prices_list = [10, 20, 30, 40]
prices = np.array(prices_list)
print([p + 2 for p in prices_list])
print(prices + 2)
```

Output:

```text
[12, 22, 32, 42]
[12 22 32 42]
```

याचा अर्थ: List ला loop (comprehension) लागतो; array ला थेट + 2 केलं तरी प्रत्येक value मध्ये 2 जोडले जातात.

उदाहरण B: Speed तपासा

```python
import numpy as np, time
nums = list(range(1_000_000))
arr = np.arange(1_000_000)
t = time.time(); _ = [n + 1 for n in nums]; t_list = time.time() - t
t = time.time(); _ = arr + 1; t_np = time.time() - t
print("NumPy faster:", t_np < t_list)
```

Output:

```text
NumPy faster: True
```

याचा अर्थ: एकाच कामासाठी NumPy loop पेक्षा खूप वेगवान ठरला.

रवींद्र बागले यांची tip

"प्रत्येक row वर loop" असा विचार आला की थांबा आणि विचारा: NumPy किंवा pandas हे संपूर्ण column वर करू शकतो का? बहुतेक वेळा हो.
