Hoja de referencia de Pandas para ciencia de datos en Python
โก Resumen inteligente
Las hojas de referencia de Pandas condensan los comandos mรกs utilizados de la biblioteca en una sola pรกgina. Esta guรญa los agrupa por tarea: instalaciรณn, creaciรณn de Series y DataFrames, importaciรณn de archivos, selecciรณn de filas, limpieza de datos, aplicaciรณn de funciones y exportaciรณn de resultados.
ยฟQuรฉ es una guรญa rรกpida de Pandas?
La biblioteca Pandas incluye cientos de funciones, pero solo un pequeรฑo subconjunto aparece en el trabajo diario. Hoja de trucos de Pandas Es una referencia de una pรกgina que enumera esos comandos, agrupados segรบn la tarea que realizan.
Cubre las estructuras Series y DataFrame, la importaciรณn y exportaciรณn de archivos, la selecciรณn y ordenaciรณn de datos, la limpieza de valores y la aplicaciรณn de funciones. Cada secciรณn a continuaciรณn combina una breve explicaciรณn con cรณdigo ejecutable, por lo que la pรกgina tambiรฉn funciona como un repaso para su habilidades de anรกlisis de datos.
๐ Descargue el PDF de la hoja de referencia aquรญ
Cรณmo instalar e importar Pandas
Dos comandos configuran Pandas, y ambos se ejecutan en una terminal o en un Jupyter Notebook cรฉlula.
Paso 1) Instalar Pandas
Ejecute esto una vez por entorno; antepรณngale un signo de exclamaciรณn en una celda del cuaderno.
pip install pandas
Paso 2) Importar Pandas
Importa el paquete bajo el alias pd, lo cual se presupone en todos los ejemplos aquรญ presentados.
import pandas as pd
Ahora puedes usar las funciones de Pandas para manipular, analizar y limpiar datos. Las secciones siguientes las enumeran en el orden en que normalmente las utilizas.
Estructuras de datos de Pandas
Pandas tiene dos estructuras de datos, Serie y Marco de datosAmbos son arreglos etiquetados y ambos pueden contener cualquier tipo de dato. La รบnica diferencia es la dimensionalidad: una Serie es un arreglo unidimensional y un DataFrame es un arreglo bidimensional construido a partir de NumPy matrices debajo.
| Elemento | Serie | Marco de datos |
|---|---|---|
| Dimensiones | Unidimensional | Bidimensional |
| Reservaciones | Una sola columna etiquetada | Muchas columnas, tipos de datos mixtos |
| Constructor | pd.Series() | pd.DataFrame() |
1. Serie
Es una matriz etiquetada unidimensional. Puede contener cualquier tipo de dato y None se convierte en un valor faltante.
s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])
2. Marco de datos
Se trata de una matriz bidimensional etiquetada. Puede contener cualquier tipo de dato y columnas de diferentes tamaรฑos.
data = {'RollNo' : [101, 102, 75, 99],
'Name' : ['Mithlesh', 'Ram', 'Rudra', 'Mithlesh'],
'Course' : ['Nodejs', None, 'Nodejs', 'JavaScript']
}
df = pd.DataFrame(data, columns=['RollNo', 'Name', 'Course'])
df.head()
La hoja de referencia imprimible que aparece a continuaciรณn recopila los mismos comandos en una sola pรกgina.
Importar datos
Pandas puede leer muchos tipos de archivos directamente en un DataFrame. Cada lector a continuaciรณn devuelve uno, y read_csv () es el mรกs utilizado.
# Import a CSV file pd pd.read_csv(filename) # Import a TSV file pd.read_table(filename) # Import a Excel file pd pd.read_excel(filename) # Import a SQL table/database pd.read_sql(query, connection_object) # Import a JSON file pd.read_json(json_string) # Import a HTML file pd.read_html(url) # From clipboard to read_table() pd.read_clipboard() # From dict pd.DataFrame(dict)
Selecciรณn
Puedes seleccionar elementos por su ubicaciรณn o por su etiqueta de รญndice. La misma sintaxis de corchetes selecciona filas, columnas y segmentos de ambas estructuras.
1. Serie
# Accessing one element from Series s['D'] # Accessing all elements between two given indices s['A':'C'] # Accessing all elements from starting till given index s[:'C'] # Accessing all elements from given index till end s['B':]
2. Marco de datos
# Accessing one column df df['Name'] # Accessing rows from after given row df[1:] # Accessing till before given row df[:1] # Accessing rows between two given rows df[1:2]
Seleccionar mediante indexaciรณn booleana y configuraciรณn
Usar iloc y iat para posiciones enteras, y loc y at para etiquetas.
1. Por Posiciรณn
df.iloc[0, 1] df.iat[0, 1]
2. Por etiqueta
df.loc[[0], ['Name']]
3. Por etiqueta/posiciรณn
df.loc[2] # Both are same
df.iloc[2]
4. Indexaciรณn booleana
Una mรกscara booleana conserva solo las filas donde la condiciรณn es verdadera. El segundo ejemplo aรฑade el operador NOT. ~, por lo que tambiรฉn devuelve valores que no son superiores a 1.
# Series s where value is > 1 s[(s > 0)] # Series s where value is <-2 or >1 s[(s < -2) | ~(s > 1)] # Use filter to adjust DataFrame df[df['RollNo']>100] # Set index a of Series s to 6 s['D'] = 10 s.head()
Limpieza de datos
Para Python Para fines de limpieza de datos, puede realizar las siguientes operaciones:
- Cambie el nombre de las columnas usando el
rename()mรฉtodo. - Actualizar valores usando el
at[]oriat[]mรฉtodo para acceder y modificar elementos especรญficos. - Cree una copia de una Serie o DataFrame utilizando el
copy()mรฉtodo. - Compruebe si hay valores NULL utilizando el
isnull()mรฉtodo, y dรฉjelos caer usando eldropna()mรฉtodo. - Compruebe si hay valores duplicados utilizando el
duplicated()mรฉtodo. Suรฉltalos usando eldrop_duplicates()mรฉtodo. - Reemplace los valores NULL usando el
fillna()mรฉtodo con un valor especificado. - Reemplazar valores usando el
replace()mรฉtodo. - Ordenar valores usando el
sort_values()mรฉtodo. - Valores de clasificaciรณn utilizando el
rank()mรฉtodo.
# Renaming columns df.columns = ['a','b','c'] df.head() # Mass renaming of columns df = df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}) # Or use this edit in same DataFrame instead of in copy df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}, inplace=True) df.head() # Counting duplicates in a column df.duplicated(subset='Name') # Removing entire row that has duplicate in given column df.drop_duplicates(subset=['Name']) # You can choose which one keep - by default is first df.drop_duplicates(subset=['Name'], keep='last') # Checks for Null Values s.isnull() # Checks for non-Null Values - reverse of isnull() s.notnull() # Checks for Null Values df df.isnull() # Checks for non-Null Values - reverse of isnull() df.notnull() # Drops all rows that contain null values df.dropna() # Drops all columns that contain null values df.dropna(axis=1) # Replaces all null values with 'Guru99' df.fillna('Guru99') # Replaces all null values with the mean s.fillna(s.mean()) # Converts the datatype of the Series to float s.astype(float) # Replaces all values equal to 6 with 'Six' s.replace(6,'Six') # Replaces all 2 with 'Two' and 6 with 'Six' s.replace([2,6],['Two','Six']) # Drop from rows (axis=0) s.drop(['B', 'D']) # Drop from columns(axis=1) df.drop('Name', axis=1) # Sort by labels with axis df.sort_index() # Sort by values with axis df.sort_values(by='RollNo') # Ranking entries df.rank() # s1 is pointing to same Series as s s1 = s # s_copy of s, but not pointing same Series s_copy = s.copy() # df1 is pointing to same DataFrame as df df1 = s # df_copy of df, but not pointing same DataFrame df_copy = df.copy()
Tenga en cuenta que s1 = s solo crea un segundo nombre para el mismo objeto, nunca una copia; por eso copy() lo sigue.
Recuperaciรณn de informaciรณn
Puedes realizar estas operaciones para recuperar informaciรณn:
- Utilice el
shapeatributo para obtener el nรบmero de filas y columnas. - Utilice el
head()ortail()mรฉtodo para obtener las primeras o las รบltimas filas como muestra. - Utilice el
info(),describe()ordtypesMรฉtodo para obtener informaciรณn sobre el tipo de datos, recuento, media, desviaciรณn estรกndar, valores mรญnimos y mรกximos. - Utilice el
count(),min(),max(),sum(),mean()ymedian()mรฉtodos para obtener informaciรณn estadรญstica especรญfica para los valores. - Utilice el
loc[]mรฉtodo para obtener una fila. - Utilice el
groupby()Mรฉtodo para aplicar la funciรณn GROUP BY para agrupar valores similares en una columna de un DataFrame.
1. Informaciรณn bรกsica
# Counting all elements in Series len(s) # Counting all elements in DataFrame len(df) # Prints number of rows and columns in dataframe df.shape # Prints first 10 rows by default, if no value set df.head(10) # Prints last 10 rows by default, if no value set df.tail(10) # For counting non-Null values column-wise df.count() # For range of index df df.index # For name of attributes/columns df.columns # Index, Data Type and Memory information df.info() # Datatypes of each column df.dtypes # Summary statistics for numerical columns df.describe()
2. Resumen
# For adding all values column-wise df.sum() # For min column-wise df.min() # For max column-wise df.max() # For mean value in number column df.mean() # For median value in number column df.median() # Count non-Null values s.count() # Count non-Null values df.count() # Return Series of given column df['Name'].tolist() # Name of columns df.columns.tolist() # Creating subset df[['Name', 'Course']] # Return number of values in each group df.groupby('Name').count()
Aplicar funciones
apply() Aplica una funciรณn a cada valor. Las reglas de alineaciรณn deciden quรฉ sucede cuando dos objetos comparten solo una parte de su รญndice.
# Define function f = lambda x: x*5 # Apply this function on given Series - For each value s.apply(f) # Apply this function on given DataFrame - For each value df.apply(f)
1. Alineaciรณn de datos internos
# NA values for indices that don't overlap s2 = pd.Series([8, -1, 4], index=['A', 'C', 'D']) s + s2
2. Aritmรฉtica Operaciones con mรฉtodos de llenado
# Fill values that don't overlap
s.add(s2, fill_value=0)
3. Filtrar, ordenar y agrupar por
Estas funciones se pueden utilizar para filtrar, ordenar y agrupar.ping Objetos Series y DataFrames.
# Filter rows where column is greater than 100 df[df['RollNo']>100] # Filter rows where 70 < column < 101 df[(df['RollNo'] > 70) & (df['RollNo'] < 101)] # Sorts values in ascending order s.sort_values() # Sorts values in descending order s.sort_values(ascending=False) # Sorts values by RollNo in ascending order df.sort_values('RollNo') # Sorts values by RollNo in descending order df.sort_values('RollNo', ascending=False)
Exportar datos
Cada escritor que aparece a continuaciรณn refleja un lector de la secciรณn de importaciรณn, de modo que un archivo puede realizar el viaje de ida y vuelta sin necesidad de herramientas adicionales.
# Export as a CSV file df df.to_csv(filename) # Export as a Excel file df df.to_excel(filename) # Export as a SQL table df df.to_sql(table_name, connection_object) # Export as a JSON file df.to_json(filename) # Export as a HTML table df.to_html(filename) # Write to the clipboard df.to_clipboard()
Colaboraciรณn de hoja de trucos
Todos los comandos que aparecen aquรญ se pueden ejecutar en el cuaderno complementario: Hoja de referencia de pandas โ Python para ciencia de datos.ipynb.

