Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:modulos:pandas

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:python:modulos:pandas [2021/11/05 14:42] – [Métodos] tempwininformatica:programacion:python:modulos:pandas [2021/11/08 16:11] (actual) – [Filtrar registros Excel] tempwin
Línea 110: Línea 110:
   * ''*.sum()'': suma los elementos de una serie   * ''*.sum()'': suma los elementos de una serie
   * ''*.prod()'': multiplicación de todos los elementos de la serie.   * ''*.prod()'': multiplicación de todos los elementos de la serie.
-  * ''*.mean()'': devuelve la media de los elementos de la serie.+  * ''*.mean()'': devuelve la media aritmética de los elementos de la serie.
   * ''*.head()'': devuelve, por defecto, los primeros 5 elementos de la serie. Entre paréntesis se puede indicar el número de elementos a devolver.   * ''*.head()'': devuelve, por defecto, los primeros 5 elementos de la serie. Entre paréntesis se puede indicar el número de elementos a devolver.
   * ''*.tail()'': devuelve, por defecto, los últimos 5 elementos de la serie. Entre paréntesis se puede indicar el número de elementos a devolver.   * ''*.tail()'': devuelve, por defecto, los últimos 5 elementos de la serie. Entre paréntesis se puede indicar el número de elementos a devolver.
Línea 1229: Línea 1229:
 output.to_excel("demo_mod.xlsx", index=False) output.to_excel("demo_mod.xlsx", index=False)
 </code> </code>
 +
 +==== Titanic ====
 +
 +Partiendo de un CSV con información sobre pasajeros:
 +
 +<code python>
 +import pandas as pd
 +
 +fname = '~/data/titanic/train.csv'
 +
 +data = pd.read_csv(fname)
 +</code>
 +
 +Ver si hay campos vacíos:
 +
 +<code python>
 +data.count()
 +</code>
 +
 +Valores mínimos y máximos de edad:
 +
 +<code python>
 +data['Age'].min(), data['Age'].max()
 +</code>
 +
 +Distribución de valores de supervivientes:
 +
 +<code python>
 +data['Survived'].value_counts()
 +</code>
 +
 +En términos porcentuales:
 +
 +<code python>
 +data['Survived'].value_counts() * 100 / len(data)
 +</code>
 +
 +Distribución por sexo:
 +
 +<code python>
 +data['Sex'].value_counts()
 +</code>
 +
 +Distribución por tipo de pasajero:
 +
 +<code python>
 +data['Pclass'].value_counts()
 +</code>
 +
 +Representación gráfica (en notebook de Jupyter):
 +
 +<code python>
 +%matplotlib inline
 +
 +alpha_color = 0.5
 +
 +# Distribución se supervivientes
 +data['Survived'].value_counts().plot(kind='bar')
 +</code>
 +
 +Distribución gráfica por sexo:
 +
 +<code python>
 +data['Sex'].value_counts().plot(kind='bar',
 +                                color=['b', 'r'],
 +                                alpha=alpha_color)
 +</code>
 +
 +Distribución gráfica por clase de pasajeros:
 +
 +<code python>
 +data['Pclass'].value_counts().sort_index().plot(kind='bar',
 +                                                alpha=alpha_color)
 +</code>
 +
 +Comparando gráficamente supervivientes con edades:
 +
 +<code python>
 +data.plot(kind='scatter', x='Survived', y='Age')
 +</code>
 +
 +Comparando gráficamente supervivientes con tramos de edades:
 +
 +<code python>
 +bins = [0, 10, 20, 30, 40, 50, 60, 70, 80]
 +
 +data['AgeBin'] = pd.cut(data['Age'], bins)
 +
 +data[data['Survived'] == 1]['AgeBin'].value_counts().sort_index().plot(kind='bar')
 +</code>
 +
 +Gráficamente los que no sobrevivieron:
 +
 +<code python>
 +data[data['Survived'] == 0]['AgeBin'].value_counts().sort_index().plot(kind='bar')
 +</code>
 +
 +<code python>
 +data['AgeBin'].value_counts().sort_index().plot(kind='bar')
 +</code>
 +
 +Pasajeros de primera clase que sobrevivieron:
 +
 +<code python>
 +data[data['Pclass'] == 1]['Survived'].value_counts().plot(kind='bar')
 +</code>
 +
 +Pasajeros de tercera clase que sobrevivieron:
 +
 +<code python>
 +data[data['Pclass'] == 3]['Survived'].value_counts().plot(kind='bar')
 +</code>
 +
 +Pasajeros de género masculino que sobrevivieron:
 +
 +<code python>
 +data[data['Sex'] == 'male']['Survived'].value_counts().plot(kind='bar')
 +</code>
 +
 +Pasajeros de género femenino que sobrevivieron:
 +
 +<code python>
 +data[data['Sex'] == 'female']['Survived'].value_counts().plot(kind='bar')
 +</code>
 +
 +Pasajeros de género masculino y primera clase que sobrevivieron:
 +
 +<code python>
 +data[(data['Sex'] == 'male') & (data['Pclass'] == 1)]['Survived'].value_counts().plot(kind='bar')
 +</code>
 +
 +Pasajeros de género masculino y tercera clase que sobrevivieron:
 +
 +<code python>
 +data[(data['Sex'] == 'male') & (data['Pclass'] == 3)]['Survived'].value_counts().plot(kind='bar')
 +</code>
 +
 +Pasajeros de género femenino y primera clase que sobrevivieron:
 +
 +<code python>
 +data[(data['Sex'] == 'female') & (data['Pclass'] == 1)]['Survived'].value_counts().plot(kind='bar')
 +</code>
 +
 +Pasajeros de género femenino y tercera clase que sobrevivieron:
 +
 +<code python>
 +data[(data['Sex'] == 'female') & (data['Pclass'] == 3)]['Survived'].value_counts().plot(kind='bar')
 +</code>
 +
 +
 +===== Recursos =====
 +
 +  * https://github.com/bonzanini/VideoCourse-DataAnalysisPython
informatica/programacion/python/modulos/pandas.1636119738.txt.gz · Última modificación: por tempwin