# P13.3 Python Project 3: Hospital Appointment Data साफ करा

Source: https://ravindrabagale.com/mr/datascience/py13-python-mini-projects-for-beginners-practice-before-pandas/p13-3-python-project-3-clean-hospital-appointment-data.html
Language: mr (Marathi with English technical terms)

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

खरा data गोंधळलेला असतो. String methods, sets आणि try/except चा सराव.

हे काय आहे?

नावं साफ करू, तारखा तपासू, duplicate appointments काढू आणि वाईट rows वेगळ्या ठेवू.

कसं करायचं?

Step 1. strip/title ने नावं साफ करा.
Step 2. Duplicates set ने ओळखा.
Step 3. वाईट rows वेगळ्या ठेवा.

उदाहरण A: साफ करा आणि duplicates काढा

```python
raw = [
    {"name": "  wanjiru kamau", "dept": "CARDIO ", "phone": "+254 712-345-678"},
    {"name": "Peter Otieno", "dept": "ortho", "phone": "0722 111 222"},
    {"name": "WANJIRU KAMAU ", "dept": "cardio", "phone": "+254712345678"},
]
def clean_name(s): return s.strip().title()
def clean_dept(s): return s.strip().lower()
def clean_phone(s): return "".join(ch for ch in s if ch.isdigit())[-9:]
seen = set()
clean = []
for r in raw:
    rec = (clean_name(r["name"]), clean_dept(r["dept"]), clean_phone(r["phone"]))
    if rec not in seen:
        seen.add(rec)
        clean.append(rec)
for rec in clean:
    print(rec)
print("Removed duplicates:", len(raw) - len(clean))
```

Output:

```text
('Wanjiru Kamau', 'cardio', '712345678')
('Peter Otieno', 'ortho', '722111222')
Removed duplicates: 1
```

याचा अर्थ: Clean rows आणि काढलेल्या rows चा count मिळाला.

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

Duplicates बहुतेक वेळा spaces आणि case मागे लपलेले असतात. आधी clean करा, मग duplicates तपासा.
