

# https://www.globalsino.com/ICs/
# Preprocessing categorical features


from sklearn import preprocessing
from sklearn.pipeline import Pipeline
import pandas as pd

raw_data = {'first_name': ['Alba', 'Aniston', 'Arden', 'Avery', 'Bale'], 
        'last_name': ['Beckham', 'Bell', 'Berry', 'Bloon', 'Brady'], 
        'age': [42, 52, 36, 24, 73], 
        'city': ['Chicago', 'Montreal', 'Catania', 'Boston', 'Boise']}
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'city'])
print("The original data is: ")
print(df)

print("\n")

# Create dummy variables for every unique category in df.city
getDummies = pd.get_dummies(df["city"])
print("Dummies of the cities are: ")
print(getDummies)

# Convert strings categorical names to integers
AllData = preprocessing.LabelEncoder().fit_transform(df["city"])
print("\n")

print("Cities are: ")
print(AllData)

print("\n")

# Convert integer categorical representations to dummy variables
print("Dummy variables are: ")
dummyVariables = preprocessing.OneHotEncoder().fit_transform(AllData.reshape(-1,1)).toarray()
print(dummyVariables)
