5.14. Series Cleaning

5.14.1. Cleaning User Input

  • 80% of machine learning and data science is cleaning data

5.14.1.1. Is This the Same Address?

  • This is a dump of distinct records of a single address

  • Which one of the below is a true address?

'ul. Jana III Sobieskiego'
'ul Jana III Sobieskiego'
'ul.Jana III Sobieskiego'
'ulicaJana III Sobieskiego'
'Ul. Jana III Sobieskiego'
'UL. Jana III Sobieskiego'
'ulica Jana III Sobieskiego'
'Ulica. Jana III Sobieskiego'

'os. Jana III Sobieskiego'

'Jana 3 Sobieskiego'
'Jana 3ego Sobieskiego'
'Jana III Sobieskiego'
'Jana Iii Sobieskiego'
'Jana IIi Sobieskiego'
'Jana lll Sobieskiego'  # three small letters 'L'

5.14.1.2. Spelling and Abbreviations

'ul'
'ul.'
'Ul.'
'UL.'
'ulica'
'Ulica'
'os'
'os.'
'Os.'
'osiedle'

'oś'
'oś.'
'Oś.'
'ośedle'
'pl'
'pl.'
'Pl.'
'plac'
'al'
'al.'
'Al.'

'aleja'
'aleia'
'alei'
'aleii'
'aleji'

5.14.1.3. House and Apartment Number

'1/2'
'1 / 2'
'1/ 2'
'1 /2'
'3/5/7'
'1 m. 2'
'1 m 2'
'1 apt 2'
'1 apt. 2'
'180f/8f'
'180f/8'
'180/8f'
'13d bud. A'

5.14.1.4. Phone Numbers

+48 (12) 355 5678
+48 123 555 678
123 555 678

+48 12 355 5678
+48 123-555-678
+48 123 555 6789

+1 (123) 555-6789
+1 (123).555.6789

+1 800-python
+48123555678

+48 123 555 678 wew. 1337
+48 123555678,1
+48 123555678,1,2,3

5.14.2. Assignments

5.14.2.1. Series Cleaning

English
  1. Convert INPUT (see input section) to pd.Series`

  2. Create pd.Series

  3. Write function to clean up data

  4. Function takes one str argument

  5. Function returns cleaned text

  6. Apply function to all elements of pd.Series

Polish
  1. Przekonwertuj INPUT (patrz sekcja input) do pd.Series

  2. Napisz funkcję czyszczącą dane

  3. Funkcja przyjmuje jeden argument typu str

  4. Funkcja zwraca oczyszczony tekst

  5. Zaaplikuj funkcję na wszystkich elementach pd.Series

Input
INPUT = [
    'ul.Mieszka II',
    'UL. Zygmunta III WaZY',
    '  bolesława chrobrego ',
    'ul Jana III SobIESkiego',
    '\tul. Jana trzeciego Sobieskiego',
    'ulicaJana III Sobieskiego',
    'UL. JA    NA 3 SOBIES  KIEGO',
    'ULICA JANA III SOBIESKIEGO  ',
    'ULICA. JANA III SOBIeskieGO',
    ' Jana 3 Sobieskiego  ',
    'Jana III Sobi  eskiego ',
]
Output
'Mieszka II'
'Zygmunta III Wazy'
'Bolesława Chrobrego'
'Jana III Sobieskiego'
'Jana III Sobieskiego'
'Jana III Sobieskiego'
'Jana III Sobieskiego'
'Jana III Sobieskiego'
'Jana III Sobieskiego'
'Jana III Sobieskiego'
'Jana III Sobieskiego'
The whys and wherefores
  • Defining and calling functions

  • Passing function arguments

  • Cleaning data from user input

Hint

Todo

Translate input data to English