informatica:programacion:python:modulos:pandas
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:python:modulos:pandas [2021/11/05 14:23] – [DataFrame] tempwin | informatica:programacion:python:modulos:pandas [2021/11/08 16:11] (actual) – [Filtrar registros Excel] tempwin | ||
|---|---|---|---|
| Línea 43: | Línea 43: | ||
| # Resultado | # Resultado | ||
| + | |||
| # 0 Chocolate | # 0 Chocolate | ||
| # 1 | # 1 | ||
| Línea 64: | Línea 65: | ||
| pd.Series(webster) | pd.Series(webster) | ||
| - | # Resultado | + | # Resultado: |
| # Plátano | # Plátano | ||
| # Púrpura | # Púrpura | ||
| Línea 108: | Línea 110: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| * '' | * '' | ||
| * '' | * '' | ||
| Línea 137: | Línea 139: | ||
| # Resultado: | # Resultado: | ||
| + | |||
| # >>> | # >>> | ||
| # 3 0.3 | # 3 0.3 | ||
| Línea 159: | Línea 162: | ||
| # Resultado: | # Resultado: | ||
| + | |||
| # True | # True | ||
| </ | </ | ||
| Línea 277: | Línea 281: | ||
| # Resultado: | # Resultado: | ||
| - | Customer | + | |
| - | 0 Bob Oranges | + | # Customer |
| - | 1 Bob | + | # 0 Bob Oranges |
| - | 2 Bob | + | # 1 Bob |
| - | 3 Alice Oranges | + | # 2 Bob |
| - | 4 Alice NaN | + | # 3 Alice Oranges |
| + | # 4 Alice NaN | ||
| </ | </ | ||
| Línea 301: | Línea 306: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | La mayoría de las funciones de DataFrames devuelven un objeto **nuevo** de pandas. Si queremos realizar una operación y que se modifique el propio objeto, debemos pasarle el argumento '' | ||
| + | </ | ||
| + | |||
| < | < | ||
| Línea 397: | Línea 407: | ||
| <code python> | <code python> | ||
| # Eliminar la fila que ocupa la posición 10: | # Eliminar la fila que ocupa la posición 10: | ||
| - | sales.drop(10) | + | new_sales = sales.drop(10) |
| </ | </ | ||
| + | Si queremos que se modifique el DataFrame en lugar de hacer una copia de él: | ||
| + | |||
| + | <code python> | ||
| + | # Eliminar la fila que ocupa la posición 10: | ||
| + | sales.drop(10, | ||
| + | </ | ||
| ==== Eliminar columnas ==== | ==== Eliminar columnas ==== | ||
| Línea 544: | Línea 560: | ||
| <code python> | <code python> | ||
| - | sales.sort_values(" | + | sales.sort_values(by=" |
| </ | </ | ||
| Línea 1213: | Línea 1229: | ||
| output.to_excel(" | output.to_excel(" | ||
| </ | </ | ||
| + | |||
| + | ==== Titanic ==== | ||
| + | |||
| + | Partiendo de un CSV con información sobre pasajeros: | ||
| + | |||
| + | <code python> | ||
| + | import pandas as pd | ||
| + | |||
| + | fname = ' | ||
| + | |||
| + | data = pd.read_csv(fname) | ||
| + | </ | ||
| + | |||
| + | Ver si hay campos vacíos: | ||
| + | |||
| + | <code python> | ||
| + | data.count() | ||
| + | </ | ||
| + | |||
| + | Valores mínimos y máximos de edad: | ||
| + | |||
| + | <code python> | ||
| + | data[' | ||
| + | </ | ||
| + | |||
| + | Distribución de valores de supervivientes: | ||
| + | |||
| + | <code python> | ||
| + | data[' | ||
| + | </ | ||
| + | |||
| + | En términos porcentuales: | ||
| + | |||
| + | <code python> | ||
| + | data[' | ||
| + | </ | ||
| + | |||
| + | Distribución por sexo: | ||
| + | |||
| + | <code python> | ||
| + | data[' | ||
| + | </ | ||
| + | |||
| + | Distribución por tipo de pasajero: | ||
| + | |||
| + | <code python> | ||
| + | data[' | ||
| + | </ | ||
| + | |||
| + | Representación gráfica (en notebook de Jupyter): | ||
| + | |||
| + | <code python> | ||
| + | %matplotlib inline | ||
| + | |||
| + | alpha_color = 0.5 | ||
| + | |||
| + | # Distribución se supervivientes | ||
| + | data[' | ||
| + | </ | ||
| + | |||
| + | Distribución gráfica por sexo: | ||
| + | |||
| + | <code python> | ||
| + | data[' | ||
| + | color=[' | ||
| + | alpha=alpha_color) | ||
| + | </ | ||
| + | |||
| + | Distribución gráfica por clase de pasajeros: | ||
| + | |||
| + | <code python> | ||
| + | data[' | ||
| + | alpha=alpha_color) | ||
| + | </ | ||
| + | |||
| + | Comparando gráficamente supervivientes con edades: | ||
| + | |||
| + | <code python> | ||
| + | data.plot(kind=' | ||
| + | </ | ||
| + | |||
| + | Comparando gráficamente supervivientes con tramos de edades: | ||
| + | |||
| + | <code python> | ||
| + | bins = [0, 10, 20, 30, 40, 50, 60, 70, 80] | ||
| + | |||
| + | data[' | ||
| + | |||
| + | data[data[' | ||
| + | </ | ||
| + | |||
| + | Gráficamente los que no sobrevivieron: | ||
| + | |||
| + | <code python> | ||
| + | data[data[' | ||
| + | </ | ||
| + | |||
| + | <code python> | ||
| + | data[' | ||
| + | </ | ||
| + | |||
| + | Pasajeros de primera clase que sobrevivieron: | ||
| + | |||
| + | <code python> | ||
| + | data[data[' | ||
| + | </ | ||
| + | |||
| + | Pasajeros de tercera clase que sobrevivieron: | ||
| + | |||
| + | <code python> | ||
| + | data[data[' | ||
| + | </ | ||
| + | |||
| + | Pasajeros de género masculino que sobrevivieron: | ||
| + | |||
| + | <code python> | ||
| + | data[data[' | ||
| + | </ | ||
| + | |||
| + | Pasajeros de género femenino que sobrevivieron: | ||
| + | |||
| + | <code python> | ||
| + | data[data[' | ||
| + | </ | ||
| + | |||
| + | Pasajeros de género masculino y primera clase que sobrevivieron: | ||
| + | |||
| + | <code python> | ||
| + | data[(data[' | ||
| + | </ | ||
| + | |||
| + | Pasajeros de género masculino y tercera clase que sobrevivieron: | ||
| + | |||
| + | <code python> | ||
| + | data[(data[' | ||
| + | </ | ||
| + | |||
| + | Pasajeros de género femenino y primera clase que sobrevivieron: | ||
| + | |||
| + | <code python> | ||
| + | data[(data[' | ||
| + | </ | ||
| + | |||
| + | Pasajeros de género femenino y tercera clase que sobrevivieron: | ||
| + | |||
| + | <code python> | ||
| + | data[(data[' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Recursos ===== | ||
| + | |||
| + | * https:// | ||
informatica/programacion/python/modulos/pandas.1636118637.txt.gz · Última modificación: por tempwin
