martes, 8 de junio de 2021

Pandas

 Funciones Utiles de Pandas.

df=pd.read_csv("covidglobal.csv") ##Leemos el archivo 
df ##visualizamos


Si nos fijamos en la imagen, la primera fila tiene datos inválidos, como por ejemplo el dato NaN 
con la siguiente función eliminamos la fila del dato inválido

df_filtrado=df.dropna() ##Elimina fila de Datos imcompletos
df_filtrado

Sin embargo... si queremos reemplazar esos datos inválidos y no deshacernos de la fila misma, usamos lo siguiente.

df_filtrado=df.fillna(0) ##Llenamos de ceros los datos invalidos de las filas
df_filtrado

Para trabajar mejor cambiamos los espacios que hay en el nombre de las columnas por guion bajo
x=df_covid.columns.str.replace(' ','_') #remplazar en el  nombre de las columas los espacios x guion bajo

Luego hecho esto... cambiamos el nombre de las columnas a minusculas de la siguiente manera

x=x.str.lower() ##cambiamos las mayusc. a minusc.

Como todo está hecho en x, cambiamos 

df_covid.columns=x #cambiamos el nombre de nuestras columnas

df_covid.head()   #visualizamos, aqui el head se le puede enviar parametros.

df_covid.head(10) #si no pasamos parametro trae 5 primeros elementos por defecto

df_covid.tail() #si no pasamos parametro trae 5 ultimos elementos por defecto

df_covid.sample() #retorna elementos randomicos  del archivo

df_covid.sample(3) #retorna 3 elementos randomicos del archivo

#las siguientes son 2 formas de acceder  o en este caso filtrar los datos de una columna, podemos acceder a la misma con corches o sin los mismos. Si la columa no esta formateada (el nombre es: nombre columna en vez de nombre_columna) entonces debemos acceder a la misma si o si con los corchetes.

filtro=df_covid.nombre_columna=='*'

filtro=df_covid.[nombre_columna]=='*'

df_covid.region.value_counts() #contamos valores de las columnas

df_covid.region.value_counts(normalize=True) #contamos valores de las columnas

df_covid.region.unique()  #retorna valores unicos de las columnas, seria lo que en sql es un distinc

df_covid.groupby(['region']).cantidad.sum() #retorna la suma de la columna cantidad por cada region

filtro=df_covid.region=='Europe' #filtramos por region=Europa

filtro2=df_covid.Name=='Turkey' #filtramos por nombre=Turkey

df_final[filtro & filtro2] #y si queremos filtrar por region y nombre unimos en un filtro los anteriores


//**********************************************************************//

#Si queremos usar las hojas de un excel lo hacemos con sheet_name

import pandas as pd

archivo = 'C:/Python/Docs/ejemplo.xlsx'

df = pd.read_excel(archivo, sheet_name='Hoja1')

df.describe()

#Si queremos que la fila X de un excel sea nuestra cabecera....

df_met =  pd.read_excel ('Temperatura.xlsx',header=11)

Contamos la cantidad de veces que aparece una palabra en un archivo

Pedimos al usuario que ingrese la palabra que quiere buscar en el archivo, en este caso txt, contamos con la funcion count y mostramos el re...