Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Formulario
Frank Andrade
Archivos & Regex
Usamos regex para crear patrones que nos
Otros Metacaracteres
\b
Carpetas
Límite de palabra
ayuden a encontrar un texto.
Metacaracteres
\B No límite de palabra
Path
Importar Path:
\D No dígitos (0-9)
Extracción de Tabla
\w Caracter de palabra (a-z, A-Z, 0-9, _) Podemos usar camelot para extraer tablas de PDFs
from pathlib import Path
import camelot
Listar contenido en directorio: \S No espacio en blanco
>>> list(Path().iterdir())
flavor='lattice')
Unir rutas: ^ Inicio de una cadena de texto
>>> from pathlib import Path, PurePath
Exportar tablas:
>>> PurePath.joinpath(Path.cwd(), 'Dataset') $ Fin de una cadena de texto tables.export('foo.csv',
'/Users/frank/Projects/DataScience/Dataset' f='csv',
Páginas Web
Importar librería:
Metadata: {3,4} Rango de números (Min, Max)
>>> path = Path('test/expenses.csv')
import pandas as pd
>>> path.parts ( ) Grupo
('test', 'expenses.csv')
Excel
Con Python podemos enviar emails (correos) y mensajes en WhatsApp. Crear hoja de trabajo (workbook):
from openpyxl import Workbook
Email
wb = Workbook() # crear workbook
Importar librerías: ws = wb.active # seleccionar hoja activa
import smtplib ws['C1'] = 10 # asignar data a una celda
import ssl wb.save("report.xlsx") # guardar workbook
from email.message import EmailMessage
Trabajar con workbook existente:
Fijar variables: from openpyxl import load_workbook
email_sender = 'escribe-emisor-aqui'
email_password = 'escribe-contraseña-aqui' wb = load_workbook('pivot_table.xlsx')
email_receiver = 'escribe-receptor-aqui' sheet = wb['Report'] # seleccionar hoja "Report"
XPath
Necesitamos aprender XPath para hacer web
Google Sheets
scraping con Selenium. Google Sheets es una hoja de calculo (spreadsheet) en la nube que puede guardar data como la mayoría de
bases de datos. Podemos conectar Google Sheets con Python activando el API y descargando nuestras
XPath Sintaxis credenciales.
Un XPath usualmente contiene un tag, nombre de Importar librerías:
atributo y valor de atributo. from gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://www.googleapis.com/auth/spreadsheets',
Veamos algunos ejemplos de como localizar el "https://www.googleapis.com/auth/drive"]
elemento article, el titulo de la película y transcript
Compartir hoja:
sheet.share('escribe-tu-email-aqui', perm_type='user', role='writer')
XPath Funciones y Operadores
XPath funciones Guardar hoja de calculo a una carpeta especifica (primero compartir la carpeta con el correo de cliente)
client.create("SecondSheet", folder_id='escribir-id-aqui')
//tag[contains(@Atributo, "Valor")]
//tag[(expresion 1) and (expresion 2)] Leer csv con Pandas y exportar df a una hoja:
df = pd.read_csv('football_news.csv')
sheet.update([df.columns.values.tolist()] + df.values.tolist())
XPath Caracteres Especiales
. ser usado (el nodo referencia) Insertar una nueva fila en el index 2:
sheet.insert_row(new_row, index=2)
.. Selecciona a un nodo padre
Caracter comodín que selecciona todos los Actualizar una celda usando notación "A1":
* elementos sin importar el nombre sheet.update('A54', 'Hello World')
Formulario
Seleccionar una columna: Data como NumPy array:
df['col1'] df.values
relacionados con el dataframe debajo. Mostrar primeras n filas: Dar formato a dataframe como cadena
df.head(2) tabular:
axis 1 (eje 1)
df.to_string()
col1 col2 Mostrar últimas n filas:
axis 0 (eje 0)
df = B 2 5
s = pd.Series([1, 2, 3], Hacer una tabla pivote que diga cuanta gastan
Ordenar por columnas:
index=['A', 'B', 'C'], df.sort_values(['col2', 'col2'], hombres y mujeres en cada categoría:
name='col1') ascending=[False, True])
df_sales.pivot_table(index='Gender',
Creando un dataframe: columns='Product line',
Identificar filas duplicadas:
data = [[1, 4], [2, 5], [3, 6]] df.duplicated() values='Total',
index = ['A', 'B', 'C'] aggfunc='sum')
df = pd.DataFrame(data, index=index, Eliminar duplicados:
df = df.drop_duplicates(['col1'])
columns=['col1', 'col2'])
Clonar un dataframe:
Leer archivo CSV con pandas: clon = df.copy()
Estas son mis tutoriales y cursos
df = pd.read_csv('nombre-archivo.csv') Unir múltiples dataframes verticalmente:
df2 = df + 5 #nuevo dataframe - Guías de Medium
Parametros avanzados: pd.concat([df,df2]) - Videos de YouTube
- Curso de Web Scraping
df = pd.read_csv('nombre_archivo.csv',sep=',', Unir múltiples dataframes horizontalmente:
names=['col1', 'col2'], df3 = pd.DataFrame([[7],[8],[9]], - Curso de Data Science
index_col=0, index=['A','B','C'], - Curso de Automatización
columns=['col3'])
encoding='utf-8',