Aprendizaje Supervisado

Machine Learning

Objeto: Strings, es una secuencia de caracteres

int64: Usados para enteros

float64: Usados para punto flotante

bool: Tomar falso/verdadero

datetime64: Fechas y tiempo

timedelta: Expresar la distancia entre dos fechas

category: Toman valores categoricos

import pandas as pd
from IPython.core.display import display, HTML
display(HTML("<style>.container {width:90% !important;}</style>"))
invoices = pd.read_csv('https://raw.githubusercontent.com/FBosler/you-datascientist/master/invoices.csv')
invoices
invoices.info()
invoices.dtypes
for i in invoices.columns:
  print("Columna: ", i, " Valores únicos: ", invoices[i].nunique())
invoices['Date'].unique()
invoices['Company Id'].unique()
invoices['Type of Meal'].unique()
invoices['Heroes Adjustment'].unique()
invoices['Type of Meal'] = invoices['Type of Meal'].astype('category')
invoices.dtypes

DataFrame

!nvidia-smi
invoices.groupby("Type of Meal")

La función groupby de Pandas crea un objeto que se llama DataFrameGroupBy. Esta función genera un objeto que se guarda en groups de tipo pandas.io.formats.printing.PrettyDict.

dir(invoices.groupby("Type of Meal"))
type(invoices.groupby("Type of Meal").groups)
invoices.groupby("Type of Meal").groups
invoices.loc[7]
invoices.loc[2]

Noten que el objeto groupso genera un objeto parecido a un diccionario el cual tiene como llaves cada uno de los grupos. Cada una de las llaves que representa el grupo contiene una lista de indices asociados a la fila de cada grupo.

Puedo pensar en iterar sobre cada uno de los datos únicos (la agrupación) y aplicar una función sobre cada uno de ellos.

grupos = invoices.groupby("Type of Meal").groups
for grupo in grupos.keys():
  print(grupo)
grupos = invoices.groupby("Type of Meal").groups
for grupo in grupos.keys():
  print(grupos[grupo])
diccionario  = {}
grupos = invoices.groupby("Type of Meal").groups
for grupo in grupos.keys():
  diccionario[grupo] = invoices.loc[grupos[grupo], "Meal Price"].mean()

diccionario
invoices.groupby("Type of Meal")["Meal Price"].mean()

Titanic

Filtrado de columnas

import pandas as pd
invoices = pd.read_csv('https://raw.githubusercontent.com/FBosler/you-datascientist/master/invoices.csv')
invoices
invoices.columns
invoices.loc[0, "Date of Meal"]
invoices[invoices["Date of Meal"] > "2016-05-31 07:00:00+02:00"]
pd.read_csv("nombre del archivo", sep="\t")

This website is copyright 2023 All Shaman