# P10.2 उपयोगी Built-in Python Modules: math, datetime, random, statistics

Source: https://ravindrabagale.com/mr/datascience/py10-python-modules-pip-and-virtual-environments-venv-explained/p10-2-useful-built-in-python-modules-math-datetime.html
Language: mr (Marathi with English technical terms)

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

हे modules Python सोबतच येतात, install करावे लागत नाहीत.

हे काय आहे?

math गणितासाठी, datetime तारखांसाठी, random random numbers साठी आणि statistics mean/median साठी.

कसं करायचं?

Step 1. import करा.
Step 2. Function वापरा.

उदाहरण A: math ने boxes वर round करा

```python
import math
print(math.ceil(53 / 12))
```

Output:

```text
5
```

याचा अर्थ: math.ceil नेहमी वरच्या पूर्ण संख्येवर नेतो — अर्धा box पण पूर्ण box लागतो.

उदाहरण B: दोन तारखांमधले दिवस

```python
from datetime import date
start = date(2026, 1, 1)
end = date(2026, 3, 15)
print((end - start).days)
```

Output:

```text
73
```

याचा अर्थ: तारखा वजा केल्या की दिवस मिळतात.

उदाहरण C: Median विरुद्ध mean

```python
import statistics
salaries = [52000, 55000, 58000, 61000, 250000]
print(statistics.mean(salaries))
print(statistics.median(salaries))
```

Output:

```text
95200
58000
```

याचा अर्थ: एका मोठ्या value मुळे mean वाढला, median स्थिर राहिला.

उदाहरण D: पुन्हा तसाच मिळणारा random sample

```python
import random
random.seed(42)
stores = ["Pune", "Mumbai", "Nagpur", "Nashik", "Aurangabad"]
print(random.sample(stores, 2))
```

Output:

```text
['Pune', 'Aurangabad']
```

याचा अर्थ: random.seed() मुळे प्रत्येक वेळी तोच sample मिळतो.

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

Report साठी data sample करताना नेहमी `random.seed()` वापरा. मग कोणीही तुमचे आकडे परत मिळवू शकतो.
