Chuleta de Python para la ciencia de datos

He intentado recopilar todos los tipos de datos, operadores, métodos, funciones y otros contenidos útiles que uno necesita tener a mano cuando comienza a programar en Python Data Science.

Tipos de datos y operadores

Tipos de datos básicos
  • Boolean = True / False
  • integer = 10
  • float = 10.01
  • string = «123abc»
  • list = [value1,value2,…]
  • dictionary = { key1:value1, key1:value2,…}
Operadores numericos
  • + = suma
  • = resta
  • * = multiplicacion
  • / = division
  • ** = exponente
  • % = módulo
  • // = división con resultado entero
Operadores Relacionales
  • > = mayor que
  • < = menor que
  • == = iguales
  • >= = mayor o igual
  • <= = menor o igual
  • != = distinto que

Operaciones cadenas, listas y diccionarios

Operaciones de cadenas
  • string[i] recuperar el carácter en la posición i
  • string[-1] recuperar último carácter
  • string[i:j]recuperar el rango i de j
Operaciones de listas
  • list = [] define una lista vacía
  • list[i] = x almacena x con el índice i
  • list[i] recupera el elemento con el índice i
  • list[-1] recupera el último elemento
  • list[i:j] recupera el rango de i a j
  • del list[i] elimina el elemento con el índice i
Operaciones de diccionarios
  • dict = {} define un diccionario vacío
  • dict[k] = x almacenar x asociado a la clave k
  • dict[k] recupera el elemento con el índice i
  • del dict[i] elimina el elemento con el índice i

Métodos

Métodos de lista
  • list.append() Añade un elemento al final de la lista
  • list.clear() Elimina todos los elementos de la lista
  • list.copy() Devuelve una copia de la lista
  • list.count() Devuelve el número de elementos con el valor especificado
  • list.extend() Añade los elementos de una lista (o cualquier iterable), al final de la lista actual
  • list.index() Devuelve el índice del primer elemento con el valor especificado
  • list.insert() Añade un elemento en la posición especificada
  • list.pop() Elimina el elemento en la posición especificada
  • list.remove() Elimina el primer elemento con el valor especificado
  • list.reverse() Invierte el orden de la lista
  • list.sort() Ordena la lista
Métodos de diccionarios
  • dic.clear() Elimina todos los elementos del diccionario
  • dic.copy() Devuelve una copia del diccionario
  • dic.fromkeys() Devuelve un diccionario con las claves y el valor especificados
  • dic.get() Devuelve el valor de la clave especificada
  • dic.items() Devuelve una lista que contiene una tupla para cada par clave-valor
  • dic.keys() Devuelve una lista que contiene las claves del diccionario
  • dic.pop() Elimina el elemento con la clave especificada
  • dic.popitem() Elimina el último par clave-valor insertado
  • dic.setdefault() Devuelve el valor de la clave especificada. Si la clave no existe: inserta la clave, con el valor especificado
  • dic.update() Actualiza el diccionario con los pares clave-valor especificados
  • dic.values() Devuelve una lista de todos los valores del diccionario
Métodos String
  • str.capitalize() Convierte el primer carácter en mayúsculas
  • str.casefold() Convierte la cadena en minúsculas
  • str.center() Devuelve una cadena centrada
  • str.count() Devuelve el número de veces que un valor especificado aparece en una cadena
  • str.encode() Devuelve una versión codificada de la cadena
  • str.endswith() Devuelve true si la cadena termina con el valor especificado
  • str.expandtabs() Establece el tamaño del tabulador de la cadena
  • str.find() Busca en la cadena un valor especificado y devuelve la posición en la que se ha encontrado
  • str.format() Formatea los valores especificados en una cadena
  • str.format_map() Formatea los valores especificados en una cadena
  • str.index() Busca en la cadena un valor especificado y devuelve la posición en la que se ha encontrado
  • str.isalnum() Devuelve True si todos los caracteres de la cadena son alfanuméricos
  • str.isalpha() Devuelve True si todos los caracteres de la cadena están en el alfabeto
  • str.isascii() Devuelve True si todos los caracteres de la cadena son ascii
  • str.isdecimal() Devuelve True si todos los caracteres de la cadena son decimales
  • str.isdigit() Devuelve True si todos los caracteres de la cadena son dígitos
  • str.isidentifier() Devuelve True si la cadena es un identificador
  • str.islower() Devuelve True si todos los caracteres de la cadena son minúsculas
  • str.isnumeric() Devuelve True si todos los caracteres de la cadena son numéricos
  • str.isprintable() Devuelve True si todos los caracteres de la cadena son imprimibles
  • str.isspace() Devuelve True si todos los caracteres de la cadena son espacios en blanco
  • str.istitle() Devuelve True si la cadena sigue las reglas de un título
  • str.isupper() Devuelve True si todos los caracteres de la cadena son mayúsculas
  • str.join() Convierte los elementos de una iterable en una cadena
  • str.ljust() Devuelve una versión justificada a la izquierda de la cadena
  • str.lower() Convierte una cadena en minúsculas
  • str.lstrip() Devuelve una versión recortada a la izquierda de la cadena
  • str.maketrans() Devuelve una tabla de traducción que se utilizará en las traducciones
  • str.partition() Devuelve una tupla en la que la cadena está dividida en tres partes
  • str.replace() Devuelve una cadena en la que un valor especificado se sustituye por otro valor especificado
  • str.rfind() Busca en la cadena un valor especificado y devuelve la última posición en la que se encontró
  • str.rindex() Busca en la cadena un valor especificado y devuelve la última posición en la que se encontró
  • str.rjust() Devuelve una versión justificada a la derecha de la cadena
  • str.rpartition() Devuelve una tupla en la que la cadena está dividida en tres partes
  • str.rsplit() Divide la cadena en el separador especificado y devuelve una lista
  • str.rstrip() Devuelve una versión recortada a la derecha de la cadena
  • str.split() Divide la cadena en el separador especificado y devuelve una lista
  • str.splitlines() Divide la cadena en los saltos de línea y devuelve una lista
  • str.startswith() Devuelve true si la cadena comienza con el valor especificado
  • str.strip() Devuelve una versión recortada de la cadena
  • str.swapcase() Intercambia las mayúsculas, las minúsculas se convierten en mayúsculas y viceversa
  • str.title() Convierte el primer carácter de cada palabra en mayúsculas
  • str.translate() Devuelve una cadena traducida
  • str.upper() Convierte una cadena en mayúsculas
  • str.zfill() Rellena la cadena con un número determinado de valores 0 al principio

Numpy

Librería de Python que sirve para crear vectores y matrices grandes multidimensionales, junto con una gran colección de funciones matemáticas de alto nivel para operar con ellas.

Importación
import numpy
import numpy as np
Importación selectiva
from math import pi

Selección de elementos de matrices Numpy
  • my_array[1] Seleccione el elemento en el índice 1
  • my_array[0:2] Seleccionar elementos en el índice 0 y 1

Subconjunto de matrices 2D Numpy

  • my_2darray[:,0] my_2darray[rows, columns]
Operaciones con matrices Numpy
>>> my_array > 3
array([False, False, False, True], dtype=bool)
>>> my_array * 2
array([2, 4, 6, 8])
>>> my_array + np.array([5, 6, 7, 8])
array([6, 8, 10, 12])
Numpy Array Functions
  • my_array.shape Obtener las dimensiones del array
  • np.append(other_array) Añadir elementos a una matriz
  • np.insert(my_array, 1, 5) Insertar elementos en una matriz
  • np.delete(my_array,[1]) Eliminar elementos de una matriz
  • np.mean(my_array) Media de la matriz
  • np.median(my_array) Mediana de la matriz
  • my_array.corrcoef() Matrix median
  • np.std(my_array) Desviación estándar

Panda

Librería de Python especializada en la manipulación y el análisis de datos

importación

import pandas as pd
import numpy as np

Importador de Datos
  • pd.read_csv(filename) – De un archivo CSV
  • pd.read_table(filename) – Desde un archivo de texto delimitado (como TSV)
  • pd.read_excel(filename) – De un archivo Excel
  • pd.read_sql(query, connection_object) – Lee desde una BaseDeDatos/Tabla SQL
  • pd.read_json(json_string) – Lee desde una cadena, URL o archivo con formato JSON
  • pd.read_html(url) – Analiza una URL html, una cadena o un archivo y extrae tablas a una lista
  • pd.read_clipboard() – Toma el contenido del porta papeles
  • pd.DataFrame(dict) – Desde un diccionario
Exportador de Datos
  • df.to_csv(filename) – Escribir en un archivo CSV
  • df.to_excel(filename) – Escribir en un archivo Excel
  • df.to_sql(table_name, connection_object) – Escribir en una tabla SQL
  • df.to_json(filename) – Escribir en un archivo con formato JSON
Crear objetos de Test

Útil para probar segmentos de código

  • pd.DataFrame(np.random.rand(20,5)) – 5 Columnas y 20 filas con Floats aleatorios
  • pd.Series(my_list) – Crea series de una lista iterativa
  • df.index = pd.date_range(‘1900/1/30’, periods = df.shape[0]) – Añade un índice de fecha
Visualizar / Inspeccionar Datos
  • df.head(n) – Primeras n filas del DataFrame
  • df.tail(n) – Las últimas n filas del DataFrame
  • df.shape() – Número de filas y columnas
  • df.info() – Índice, tipo de datos y memoria
  • df.describe() – Estadísticas resumidas de columnas numéricas
  • s.value_counts(dropna=False) – Ver valores y recuentos únicos
  • df.apply(pd.Series.value_counts) – Valores únicos para todas las columnas
Selección
  • df[col] – Devuelve la columna con la etiqueta col como Serie
  • df[[col1, col2]] – Devuelve columnas como un nuevo DataFrame
  • s.iloc[0] – Selección por posición
  • s.loc[‘index_one’] – Selección por índice
  • df.iloc[0,:] – Primera fila
  • df.iloc[0,0] – Primer elemento de la primera columna
Limpieza de datos
  • df.columns = [‘a’, ‘b’, ‘c’] – Renombrar columnas
  • pd.isnull() – Comprueba valores nulos, devuelve Boolean Arrays
  • pd.notnull() – El opuesto a pd.isnull()
  • df.dropna() – Elimina todas las filas que contienen valores nulos
  • df.dropna(axis=1) – Elimina todas las columnas que contienen valores nulos
  • df.dropna(axis=1, thresh=n) – Elimina todas las filas que tienen menos de n valores no nulos
  • df.fillna(x) – Remplaza todos los valores nulos por x
  • s.fillna(s.mean()) – Remplaza todos los valores nulos por la media
  • s.astype(float) – Convierte el tipo de datos a float
  • sreplace(1, ‘one’) – Remplaza todos los valores iguales a 1 con ‘one’
  • s.repalce([1, 3], [‘one’, ‘three’]) – Remplaza todos los 1 por ‘one’ y 3 por ‘three’
  • df.rename(columns=lambda x: x + 1) – Cambio de nombre de columnas en masa
  • df.rename(columns={‘old_name’:’new_name’}) – Renombrar seleccionando columna
  • df.set_index(‘column_one’) – Cambiar el índice
  • df.rename(index=lambda x: x + 1) – Cambio el índice en masa
Filtro, orden y agrupamiento
  • df[df[col]> 0.5 ] – Filas donde la columna col es mayor que 0,5
  • df[(df[col] > 0.5]) & (df[col] < 0.7)] – Filas donde 0.7 > col > 0.5
  • df.sort_values(col1) – Ordenar los valores por la col1 en orden ascendente
  • df.sort_values(col2, ascending=False) – Ordena los valores por col2 en orden descendente
  • df.sort_values([col1, col2], ascending=[True, False]) – Ordena los valores por la col1 de forma ascendente y luego por la col2 en orden descendente
  • df.groupby(col) – Devuelve un objeto groupby para los valores de una columna
  • df.groupby([col1, col2]) – Devuelve un objeto groupby para valores de múltiples columnas
  • df.groupby(col1)[col2] – Devuelve la media de los valores en col2, agrupados por los valores en col1 (la media se puede remplazar con casi cualquier función de la sección Estadísticas)
  • df.pivot_table(index=col1, values=[col2, col3], aggfunc=mean) – Crea una tabla dinámica que agrupa por col1 y calcula la media de col2 y col3
  • df.groupby(col1).agg(np.mean) – Encuentra promedio en todas las columnas para cada grupo de col1 único
  • df.apply(np.mean) – Aplica la función np.mean() en cada columna
  • nf.apply(np.max, axis=1) – Aplica la función np.max() en cada fila
Unir / Combinar
  • df1.append(df2) – Agrupa las filas en df1 al final de df2 (las columnas deben ser idénticas)
  • pd.concat([df1, df2], axis=1) – Agrega las columnas en df1 al final de df2 (las filas deben ser idénticas)
  • df1.join(df2, on=col1, how=’inner’) – Une las columnas en df1 con las columnas en df2 donde las filas para col tienen valores idénticos. También puede utilizarse: left, right, outer, inner.
Estadísticas
Todas estas funciones también se pueden aplicar a una serie

  • df.describe – Resumen de estadísticas para columnas numéricas
  • df.mean() – Devuelve la media de todas las columnas
  • df.corr() – Devuelve la correlación entre columnas en un DataFrame
  • df.count() – Devuelve el número de valores no nulos en cada columna DataFrame
  • df.max() – Devuelve el valor más alto en cada columna
  • df.min() – Devuelve el valor más bajo en cada columna
  • df.median() – Devuelve la media de cada columna
  • df.std() – Devuelve la desviación estándar de cada columna