<jupyter_start><jupyter_text>MAT281 - Laboratorio N°03  Problema 01EL conjunto de datos se denomina `ocupation.csv`, el cual contiene información de distintos usuarios (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("ocupation.csv"), sep="|")
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>len(df)<jupyter_output><empty_output><jupyter_text>2.- ¿Cuál es el número de columnas en el conjunto de datos?<jupyter_code>len(df.columns)<jupyter_output><empty_output><jupyter_text>3.- Imprime el nombre de todas las columnas<jupyter_code>df.columns<jupyter_output><empty_output><jupyter_text>4.- Imprima el índice del dataframe<jupyter_code>df.index<jupyter_output><empty_output><jupyter_text>5.- ¿Cuál es el tipo de datos de cada columna?<jupyter_code>df.dtypes<jupyter_output><empty_output><jupyter_text>6.- Describir el conjunto de datos (**hint**: .describe())<jupyter_code>df.describe()<jupyter_output><empty_output><jupyter_text>7.- Imprimir solo la columna de **occupation**.<jupyter_code>df["occupation"]<jupyter_output><empty_output><jupyter_text>8.- ¿Cuántas ocupaciones diferentes hay en este conjunto de datos?<jupyter_code>ocup=[]
for i in df["occupation"]:
    if i not in ocup:
        ocup.append(i)        
print("la cantidad de ocupaciones distintas son:",len(ocup))<jupyter_output>la cantidad de ocupaciones distintas son: 21<jupyter_text>9.- ¿Cuál es la ocupación más frecuente?<jupyter_code>d={}
for i in df["occupation"]:
    if i not in d:
        d[i]=1
    else:
        d[i]+=1
c=0
for i in d.values():
    if i>c:
        c=i
for i in d.keys():
    if d[i]==c:
        print("La ocupación más frecuente es:",i)<jupyter_output>La ocupación más frecuente es: student<jupyter_text>10.- ¿Cuál es la edad media de los usuarios?<jupyter_code>df["age"].mean()<jupyter_output><empty_output><jupyter_text>11.- ¿Cuál es la edad con menos ocurrencia?<jupyter_code>d2={}
for i in df["age"]:
    if i not in d2:
        d2[i]=1
    else:
        d2[i]+=1
s=pd.Series(d2.values(),d2.keys())
s1=pd.Series(d2.values(),d2.keys())
n=s.sort_values(ascending = True)

ng=s1.sort_values(ascending = False)

#print(n)
#print(ng)
l=[]
for i in n.values:
    if i<=ng.values:
        l.append(n.index)<jupyter_output><empty_output><jupyter_text>12.- Encontrar la edad promedio según la variable **occupation**  Problema 02EL conjunto de datos se denomina `Automobile_data.csv`, el cual contiene información tal como: compañia, precio, kilometraje, etc.Lo primero es cargar el conjunto de datos y ver las primeras filas que lo componen:<jupyter_code># cargar datos
df2 = pd.read_csv(os.path.join("Automobile_data.csv")).set_index('index')
df2.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. Elimine los valores nulos (Nan)<jupyter_code>mask = lambda df2: df2.notnull().all(axis=1)
df2=df2[mask]
df2.head()<jupyter_output><empty_output><jupyter_text>2. Encuentra el nombre de la compañía de automóviles más cara<jupyter_code>df2=df2.sort_values("price")
df2.tail()
print("La compañía más cara es:",df2["company"][46])<jupyter_output>La compañía más cara es: mercedes-benz<jupyter_text>3. Imprimir todos los detalles de Toyota Cars<jupyter_code>j=0
for i in df2["company"]:
    if i=="toyota":
        print(df2["body-style"][j],df2["wheel-base"][j],df2["length"][j],df2["engine-type"][j],df2["num-of-cylinders"][j],df2["horsepower"][j],df2["average-mileage"][j],df2["price"][j])
    j+=1<jupyter_output>hatchback 94.5 171.2 ohcv six 154 19 16500.0<jupyter_text>4. Cuente el total de automóviles por compañía 5. Encuentra el coche con el precio más alto por compañía 6. Encuentre el kilometraje promedio (**average-mileage**) de cada compañía automotriz 7. Ordenar todos los autos por columna de precio (**price**)<jupyter_code>df2=df2.sort_values("price")
df2.head()<jupyter_output><empty_output><jupyter_text>Problema 03Siguiendo la temática de los automóviles, resuelva los siguientes problemas: a) Subproblema 01A partir de los siguientes diccionarios:<jupyter_code>GermanCars = {'Company': ['Ford', 'Mercedes', 'BMV', 'Audi'],
              'Price': [23845, 171995, 135925 , 71400]}
japaneseCars = {'Company': ['Toyota', 'Honda', 'Nissan', 'Mitsubishi '], 
                'Price': [29995, 23600, 61500 , 58900]}<jupyter_output><empty_output><jupyter_text>* Cree dos dataframes (**carsDf1** y **carsDf2**) según corresponda.* Concatene ambos dataframes (**carsDf**) y añada una llave ["Germany", "Japan"], según corresponda.<jupyter_code>carsDf1= pd.DataFrame(
    {
        'Company': ['Ford', 'Mercedes', 'BMV', 'Audi'],
              'Price': [23845, 171995, 135925 , 71400],
    }
)

carsDf2 = pd.DataFrame(
    {
       'Company': ['Toyota', 'Honda', 'Nissan', 'Mitsubishi '], 
                'Price': [29995, 23600, 61500 , 58900]
    },
    
)
carsDf= pd.DataFrame(
    [
        [carsDf1, carsDf2]
    ], 
    columns=["Germany","Japan"])<jupyter_output><empty_output><jupyter_text>b) Subproblema 02A partir de los siguientes diccionarios:<jupyter_code>Car_Price = {'Company': ['Toyota', 'Honda', 'BMV', 'Audi'], 'Price': [23845, 17995, 135925 , 71400]}
car_Horsepower = {'Company': ['Toyota', 'Honda', 'BMV', 'Audi'], 'horsepower': [141, 80, 182 , 160]}<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14032342201356285, 'fraction_numerical': 0.038601982263954095, 'mean_word_length': 5.4847801578354005, 'pattern_counts': {'":': 1, '<': 78, '<?xml version=': 0, '>': 78, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '20', 'dir': 'jupyter-structured-clean-dedup', 'id': '570764', 'license': 'MIT', 'n_tokens_mistral': 2375, 'n_tokens_neox': 2226, 'n_words': 519, 'path': 'labs/Laboratorio 3 MAT281.ipynb', 'repo_name': 'Jebyquinn/mat281_portfolio', 'size': '5751'}