En aquest tema, aprendrem sobre la transformació i normalització de dades, dos passos crucials en el procés de preparació de dades per a l'anàlisi. Aquests passos asseguren que les dades estiguin en un format adequat per a l'anàlisi i que les variables siguin comparables entre si.

Objectius d'Aprenentatge

  • Comprendre la importància de la transformació de dades.
  • Aprendre diferents tècniques de transformació de dades.
  • Entendre el concepte de normalització de dades i les seves tècniques.
  • Aplicar transformació i normalització de dades utilitzant Python.

  1. Importància de la Transformació de Dades

La transformació de dades implica convertir les dades brutes en un format que sigui més adequat per a l'anàlisi. Això pot incloure la conversió de tipus de dades, la creació de noves variables, l'agregació de dades, entre altres.

Beneficis de la Transformació de Dades:

  • Millora la qualitat de les dades: Elimina errors i inconsistències.
  • Facilita l'anàlisi: Les dades transformades són més fàcils d'analitzar i interpretar.
  • Permet la comparació: Les dades de diferents fonts poden ser comparades de manera efectiva.

  1. Tècniques de Transformació de Dades

2.1. Conversió de Tipus de Dades

Convertir les dades a tipus adequats (per exemple, de text a numèric) és essencial per a l'anàlisi.

import pandas as pd

# Exemple de conversió de tipus de dades
data = {'col1': ['1', '2', '3'], 'col2': ['4.5', '5.6', '6.7']}
df = pd.DataFrame(data)
df['col1'] = df['col1'].astype(int)
df['col2'] = df['col2'].astype(float)
print(df.dtypes)

2.2. Creació de Noves Variables

Crear noves variables a partir de les existents pot proporcionar informació addicional.

# Exemple de creació de noves variables
df['col3'] = df['col1'] + df['col2']
print(df)

2.3. Agregació de Dades

L'agregació implica resumir les dades, per exemple, calculant la mitjana, suma, etc.

# Exemple d'agregació de dades
df_agg = df.groupby('col1').sum()
print(df_agg)

  1. Normalització de Dades

La normalització de dades és el procés d'ajustar els valors de les dades per a que estiguin en una escala comuna, sense distorsionar les diferències en els rangs de valors.

3.1. Importància de la Normalització

  • Millora la comparabilitat: Les variables amb diferents escales poden ser comparades.
  • Millora el rendiment dels models: Alguns algoritmes de machine learning funcionen millor amb dades normalitzades.

3.2. Tècniques de Normalització

3.2.1. Min-Max Scaling

Ajusta els valors de les dades perquè estiguin entre un rang específic, normalment entre 0 i 1.

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
df[['col1', 'col2']] = scaler.fit_transform(df[['col1', 'col2']])
print(df)

3.2.2. Z-Score Normalization

Ajusta els valors de les dades perquè tinguin una mitjana de 0 i una desviació estàndard de 1.

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
df[['col1', 'col2']] = scaler.fit_transform(df[['col1', 'col2']])
print(df)

Exercicis Pràctics

Exercici 1: Conversió de Tipus de Dades

Converteix les següents dades a tipus adequats:

data = {'A': ['10', '20', '30'], 'B': ['1.1', '2.2', '3.3']}
df = pd.DataFrame(data)
# Converteix 'A' a int i 'B' a float

Solució:

df['A'] = df['A'].astype(int)
df['B'] = df['B'].astype(float)
print(df.dtypes)

Exercici 2: Min-Max Scaling

Aplica Min-Max Scaling a les següents dades:

data = {'X': [1, 2, 3], 'Y': [10, 20, 30]}
df = pd.DataFrame(data)
# Aplica Min-Max Scaling a 'X' i 'Y'

Solució:

scaler = MinMaxScaler()
df[['X', 'Y']] = scaler.fit_transform(df[['X', 'Y']])
print(df)

Resum

En aquesta secció, hem après sobre la importància de la transformació i normalització de dades en el procés d'anàlisi de dades. Hem explorat diverses tècniques per transformar i normalitzar dades utilitzant Python. Aquestes tècniques són essencials per assegurar que les dades estiguin en un format adequat per a l'anàlisi i que les variables siguin comparables entre si.

© Copyright 2024. Tots els drets reservats