2024
Power BI con Python
Aplicado a Minería
Jose Fukasawa
Agenda
• Conceptos
• Tipos de datos,
• Numéricos
• Secuenciales
• Otros
• Funciones
• Loops
• Funciones Lambda
• Dataframes
• Librerías
• Numpy
• Pandas
• Matpotlib
Conceptos
Conceptos
Tipos de datos
Conceptos
Tipos de datos
Conceptos
Tipos de datos - Núméricos
Tipo Clase Descripción Ejemplo
Enteros/Integers int Números enteros, positivos o negativos a=5
print(type(a))
Decimales/Floats float Números decimales, positivos o negativos a = 5.0
print(type(a))
Números Complejos/ complex Número real + número imaginario a = 5 + 5j
Complex Numbers print(type(a))
Conceptos
Tipos de datos - Secuenciales
Tipo Clase Descripción Ejemplo
Textos/Strings str Un array de caracteres (ordenado) String1 = 'String 1'
String2 = "String 2"
String3 = '''String 3'''
Lists/Listas list Un array de ítems/objetos (ordenado) List1 = [ 123 , 'ABC' , 5.0 , ['X' , 'Y' , 'Z' ] ]
Tuples tuple Un array de ítems/objetos no modificable Tuple1 = ( 123 , 'ABC' , 5.0 , ('X' , 'Y' , 'Z' ) )
Conceptos
Tipos de datos - Otros
Tipo Clase Descripción Ejemplo
Boolean bool Verdadero o Falso Boolean1 = True
Boolean2 = False
Sets set Un conjunto de ítems iterable y sin duplicados (no Set1 = set( [ 123 , 'ABC’ , 5.0 ] )
ordenado) Set2 = { 123 , 'ABC' , 5.0 }
Diccionario dict Un conjunto de llaves y valores (no ordenado) Dict1 = { "a“ : 1 , "b“ : 2 }
Conceptos
Funciones
Función básica def my_function():
print("Hola desde una funcion")
Llamado de la función my_function()
Función con argumento def my_function(nombre):
print(nombre + " es aburrido")
my_function("Jose")
Función con argumentos def my_function(nombre, apellido):
print(nombre + " " + apellido +" es muy
aburrido")
my_function ("Jose", "Fukasawa")
Conceptos
Funciones
Función con cantidad de def my_function(*nombres):
argumentos indefinidos print(nombres[0] + " es el primer nombre")
my_function ("Jose", "Pepe")
Función con argumentos por def my_function(nombre1, nombre2):
keyword print(nombre2 + " ya no es aburrido")
my_function( nombre2 = "Jose" ,nombre1 = "Pepe")
Función con argumentos por def my_function(nombre= "Jose"):
defecto print(nombre + " hace las mejores fiestas")
my_function ()
Conceptos
Funciones
Función que retorna un valor def my_function(x):
return x * 2
print(my_function(4))
nuevo_valor = my_function(11)
print(nuevo_valor)
Conceptos
Loops – For & While
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
i = 1
while i < 6:
print(i)
i += 1
Conceptos
Funciones Lambda
lambda argumentos : expresión
Reglas:
- Puede aceptar cualquier cantidad de argumentos
- Retorna únicamente un valor
Ejemplo:
x = lambda a : a + 10
print(x(5))
Conceptos
Dataframes
import pandas as pd
data = {
"calories": [420, 380, 390],
"duration": [50, 40, 45]
}
df = pd.DataFrame(data)
print(df)
import pandas as pd
df = pd.read_csv('data.csv')
print(df)
Conceptos
Dataframes
print(df.loc[0])
print(df.loc[[0, 1]])
print(df.loc[“col1"])
Librerías
Librerías
Numpy
Numpy es una librería de Python usada para trabajar con arrays.
Los arrays de Numpy son considerablemente más rápidos que las listas nativas de
Python. Esto, además de una lista extensa de posibilidades, hacen de esta librería una
de las usadas por defecto en el análisis de datos.
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
print(type(arr))
Librerías
Pandas
Pandas es una librería de Python usada para trabajar con dataframes, importar
archivos planos, explorar, limpiar y manipular datos.
Los dataframes de Pandas son los objetos más usados para el análisis de datos, ya que
son un simil a las tablas de doble entrada (filas y columnas).
Además de tener la capacidad de leer archivos planos y solidificar la etapa de limpieza
de datos, la utilidad de las fórmulas de esta librería la hacen sumamente atractiva
para entender los datos a un nivel de tabla.
Librerías
Pandas
import pandas as pd
df = pd.read_csv('data.csv')
print(df.head(10))
print(df.tail())
print(df.info())
df = pd.read_csv('data.csv')
new_df = df.dropna()
print(new_df.to_string())
Librerías
Pandas
df.loc[7, 'col1'] = 45
for x in df.index:
if df.loc[x, “col1"] > 120:
df.loc[x, “col1"] = 120
for x in df.index:
if df.loc[x, “col1"] > 120:
df.drop(x, inplace = True)
df.drop_duplicates(inplace = True)
Librerías
Matplotlib
Pandas es una librería de Python usada para visualizar datos.
Los gráficos de esta librería (junto con Seaborn) son los usados por defecto para el
análisis de datos.
import matplotlib.pyplot as plt
import numpy as np
xpoints = np.array([1, 2, 6, 8])
ypoints = np.array([3, 8, 1, 10])
plt.plot(xpoints, ypoints)
plt.show()
Librerías
Matplotlib
import matplotlib.pyplot as plt
import numpy as np
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])
plt.scatter(x, y, c=colors, cmap='viridis')
plt.colorbar()
plt.show()
Síguenos en nuestras comunidades