Bienvenido, soy Miguel y hoy les traigo un nuevo tutorial.
Índice
Pandas de una sola línea para las cosas populares de Excel
Excel es, fue y será una excelente herramienta para siempre. Su ingenio es impresionante y la elegancia supera a la de Bella Hadid. Dado que Python ha existido, se ha vuelto difícil ignorar la facilidad y flexibilidad que ofrece.
Todo dicho y hecho, seguir adelante sigue siendo el punto fuerte más importante del tipo de datos. Entonces, independientemente de qué tipo de tipo de datos sea, o incluso si lo usa solo de vez en cuando, vale la pena acostumbrarse a Python (es gratis). ¿Por qué Python, preguntas?
- Si poder usar Excel es como armar muebles de IKEA, poder usar Python es como ser carpintero. Puedes hacer maravillas mucho más excelentes.
- Porque todos los demás lo están haciendo.
- En palabras de George Mallory, Porque está ahí.
Comencemos con algunas funciones básicas. Por simplicidad, hablemos solo de la biblioteca de pandas. Inicie Python y haga esto:
import pandas as pd
Después de esto, lea todos sus archivos en sus variables de nombre de archivo:
file1 = pd.read_excel(‘path/to/your/file1.xlsx’)
Equivalente de pandas: fusionar
Con BUSCARV
, está intentando buscar un valor de una columna de Excel en un segundo archivo.
Primero: a.
Ordene ambos archivos por orden alfabético en la columna deseada.
Segundo: Usa la fórmula.
= BUSCARV(A2, Area in columns, column to be returned,FALSE)
Para obtener la salida
El equivalente de pandas es mucho más simple y comprensible, fisión es lo mismo que unir los conjuntos de datos en la columna común deseada. Después de importar y leer sus archivos 1
y 2
como archivo1
y archivo2
, es una sola declaración:
file1 = file1.merge(file2[['columns', 'you', 'want', 'to' ,'return']], how=’left’,on=’common-column-to-look-for’)
Ahora guarda tus resultados con:
pd.to_excel('save/here/path/filename.xlsx')
Equivalente de pandas: value_counts ()
Muy a menudo, querrá contar las apariciones de un elemento en una columna. En Excel lo haces así:
=COUNTIF(area-to-search,value-to-search-for)(#and drag it down)
A continuación, eliminará los duplicados para obtener los recuentos de valores.
En pandas, haces esto con el siguiente delineador:
file1[‘Column which needs counting’].value_counts()
value_counts () resultados
Equivalente de pandas: str.strip ()
Los espacios en blanco invisibles son un verdadero problema en la mayoría de los archivos. En Excel, creamos una nueva columna y aplicamos la fórmula.
= TRIM('cell which needs trimming') #and drag it down
En pandas, es de nuevo una frase así:
file1.column_that_needs_stripping = file1.column_that_needs_stripping.str.strip()
Equivalente de pandas: str.replace (““, “”)
A menudo, recortar no es suficiente. Tiene espacios no deseados en toda la columna. Estoy acostumbrado a hacer esto en Excel seleccionando la columna, buscando y reemplazando los espacios.
Pandas ofrece una solución simple para reemplazar espacios en todas las cadenas de la columna:
file1[‘column_to_delete_all_spaces’] = file1[‘column_to_delete_all_spaces’].str.replace(" ","")
Equivalente de pandas: +
La concatenación de cadenas es otro método popular en Excel. Digamos que desea concatenar varias celdas, haga esto en Excel:
= CONCATENATE(Cell1,Cell2,Cell3,Cell4……)
Puede ser muy tedioso encontrar todas las celdas y escribirlas. Pandas ofrece un elegante delineador también para esto de la siguiente manera:
file1['new_column']= file1['first_col'] +’if_space_or_other_string_needed_here’+ file1['second_column']
Equivalente de pandas: .notnull () .sum ()
CountA
de Excel cuenta todas las celdas distintas de cero en la selección y devuelve todas las celdas que tienen algunos valores en ellas.
= COUNTA(range)
El equivalente de pandas de una sola línea para contar valores distintos de cero es el siguiente:
file1[‘column_to_count’].notnull().sum()
Si, en cambio, desea obtener todos los valores de columna que son nulos, cambia notnull a isnull, ¡y listo!
file1[‘column_to_count’].isnull().sum()
Equivalente de pandas: fillna ()
Usted maneja errores como errores de división cero en Excel con IFERROR
, definiendo un valor de relleno de error.
= IFERROR(Formula that might have an error, “Value to return if error occurs”)
En pandas, puede hacer este tipo de manejo de errores usando fillna ()
file1 = file1.fillna('Value_you_want_to_fill')
En Excel, puede extraer el número n izquierdo de dígitos o alfabetos utilizando la siguiente fórmula:
= LEFT(Cell, number of digits you want) = RIGHT(Cell, number of digits you want)
El equivalente de pandas para esto es el siguiente. Lea el símbolo ":"
como hasta o desde:
left_five_digits = file1['column'].str[:5]right_five_digits = file1['column'].str[-5:] #the minus indicates 5 from the end, without minus, it means 5 from left
Esas eran algunas de las funciones que solía usar en Excel a diario, que ahora hago con regularidad y con una velocidad increíble en Python.
Espero que este manual te motive a hacer el cambio porque vale la pena cada segundo.
Gracias por leer este artículo, espero que te sea de utilidad.
Añadir comentario