<jupyter_start><jupyter_text>MAT281 - Laboratorio N°03 Objetivos de la clase* Reforzar los conceptos básicos de pandas.  Contenidos* [Problema 01](p1)  Problema 01EL conjunto de datos se denomina `ocupation.csv`, el cual contiene información tal como: edad ,sexo, profesión, etc.Lo primero es cargar el conjunto de datos y ver las primeras filas que lo componen:<jupyter_code>import pandas as pd
import os
# cargar datos
df = pd.read_csv(os.path.join("data","ocupation.csv"), sep="|").set_index('user_id')
df.head()<jupyter_output><empty_output><jupyter_text>El objetivo es tratar de obtener la mayor información posible de este conjunto de datos. Para cumplir este objetivo debe resolver las siguientes problemáticas: 1. ¿Cuál es el número de observaciones en el conjunto de datos?<jupyter_code># Primero, ocuparemos el largo del datafram para obtener la cantidad de observaciones
o=1
for i in range(len(df.shape)):
    o = o*df.shape[i] #por cada observación que tengamos, deberemos sumar una a su posición relativa al dataframe.
print("El Número de Observaciones será:")
print(o)<jupyter_output>El Número de Observaciones será:
3772<jupyter_text>2. ¿Cuál es el número de columnas en el conjunto de datos?<jupyter_code>print("El número de Columnas del Dataframe es:")
print(len(df.columns))<jupyter_output>El número de Columnas del Dataframe es:
4<jupyter_text>3. Imprime el nombre de todas las columnas<jupyter_code>print("El nombre de las columnas será:")
print(df.columns)<jupyter_output>El nombre de las columnas será:
Index(['age', 'gender', 'occupation', 'zip_code'], dtype='object')<jupyter_text>4. Imprima el índice del dataframe<jupyter_code>print("Los índices de las columnas serán:")
print(str(df.index))<jupyter_output>Los índices de las columnas serán:
Int64Index([  1,   2,   3,   4,   5,   6,   7,   8,   9,  10,
            ...
            934, 935, 936, 937, 938, 939, 940, 941, 942, 943],
           dtype='int64', name='user_id', length=943)<jupyter_text>5. ¿Cuál es el tipo de datos de cada columna?<jupyter_code>print("El tipo de data de las columnas es:")
player_data = pd.read_csv(os.path.join('data', 'player_data.csv'), index_col='name')
type(player_data)
player_data.dtypes<jupyter_output>El tipo de data de las columnas es:<jupyter_text>6. Resumir el conjunto de datos<jupyter_code>df.describe()<jupyter_output><empty_output><jupyter_text>7. Resume conjunto de datos  con todas las columnas<jupyter_code>df.describe(include='all')<jupyter_output><empty_output><jupyter_text>8. Imprimir solo la columna de **occupation**.<jupyter_code>df.describe(include='all')[["occupation"]]<jupyter_output><empty_output><jupyter_text>9. ¿Cuántas ocupaciones diferentes hay en este conjunto de datos?<jupyter_code>df.describe(include='all')[['occupation']].loc["unique"].to_frame()<jupyter_output><empty_output><jupyter_text>10. ¿Cuál es la ocupación más frecuente?<jupyter_code>df.describe(include='all')[['occupation']].loc["top"].to_frame()<jupyter_output><empty_output><jupyter_text>11. ¿Cuál es la edad media de los usuarios?<jupyter_code>df.describe(include='all')[['occupation']].loc["mean"].to_frame()<jupyter_output><empty_output><jupyter_text>12. ¿Cuál es la edad con menos ocurrencia?<jupyter_code>se= df['age'].value_counts() #Creamos nuestra serie
m = se.min() #Obtenemos nuestro mínimo
mask = (se==m) #Obtenemos las mínimas recurrencias
se[mask].to_frame()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.12302284710017575, 'fraction_numerical': 0.023140011716461628, 'mean_word_length': 6.726244343891403, 'pattern_counts': {'":': 0, '<': 48, '<?xml version=': 0, '>': 48, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '13', 'dir': 'jupyter-structured-clean-dedup', 'id': '137063', 'license': 'MIT', 'n_tokens_mistral': 1324, 'n_tokens_neox': 1272, 'n_words': 321, 'path': 'labs/Laboratorio_03.ipynb', 'repo_name': 'Lya-Midori/Pulpitadefruta', 'size': '3414'}