¿Cómo dividir un marco de datos en una o varias columnas?

Cuando intente dar sentido a un DataFrame grande en Pandas, es posible que deba subdividirlo en columnas y filas. En este tutorial, mostraremos los casos de uso más frecuentes de la partición de columnas de su DataFrame.

Comenzaremos configurando nuestro DataFrame de ejemplo, lo que haremos ejecutando el siguiente código de Python en nuestro entorno favorito (para simplificar, uso Anaconda y Jupyter Lab).

import pandas as pd # import the pandas library

languages = ({"language": [ "Python", "C-Sharp", "Javascript","PHP"] ,
         "avg_difficulty_level": [3, 2, 2, 1],
              "avg_salary": [120, 100, 120, 80],
          "applications": [10,15,14,20]})

# Now let's convert our dict to a DataFrame

languages = pd.DataFrame.from_dict(languages)

Ahora, veamos las primeras filas de nuestro Dataframe usando el método head().

languages.head()

Como puede ver, este es un DataFrame bastante simple que usaremos como ejemplo en esta publicación:

  idioma nivel_de_dificultad_promedio salario_promedio aplicaciones
0 Pitón 3 120 10
1 Do sostenido 2 100 15
2 JavaScript 2 120 14
3 PHP 1 80 20

Filtrar una sola columna

Comenzaremos con el caso más simple, que consiste en crear un subconjunto de una columna de nuestro conjunto de datos. Ejecutar el siguiente comando creará un objeto Serie:

Por nombre / etiqueta

languages["language"]

La salida es una Serie:

0 pitón
1 Do sostenido
2 JavaScript
3 PHP
Nombre: idioma, dtype: objeto
type(languages["language"])

pandas.core.series.Series

Por índice

El siguiente comando también devolverá una serie que contiene la primera columna

languages.iloc[:,0]

Selección de varias columnas

Por nombre

Al pasar una lista de columnas, Pandas devolverá un DataFrame que contiene parte de los datos.

languages[["language", "applications"]]
  idioma aplicaciones
0 Pitón 10
1 Do sostenido 15
2 JavaScript 14
3 PHP 20

Por etiqueta (con loc)

df.loc[:,["language","applications"]]

El resultado será similar.

Por índice

Ahora recuperemos varias columnas usando el índice:

languages.iloc[: ,[0,3]]
  idioma aplicaciones
0 Pitón 10
1 Do sostenido 15
2 JavaScript 14
3 PHP 20

Por condición

En este caso, solo mostraremos las columnas cuyo nombre coincide con una expresión específica. Usaremos el método de filtro bastante útil:

languages.filter(axis = 1, like="avg")

Notas:

  1. también podemos filtrar por una expresión regular específica (regex).
  2. Podemos aplicar el parámetro axis=0 para filtrar por valor de fila específico.

Filtrar filas específicas por condición

Aquí hay una forma bastante sencilla de dividir el DataFrame en subconjuntos de acuerdo con un valor de fila:

languages[(languages["applications"] > 15)]

Solo tenemos un resultado:

languages[(languages["applications"] > 15)]
  idioma nivel_de_dificultad_promedio salario_promedio aplicaciones
3 PHP 1 80 20

Jengibre 2.7.53.0

Jengibre 2.7.53.0

Ginger es un corrector ortográfico y gramatical gratuito.

Bloques

Bloques

Blocks es un juego intelectual para que los alumnos de 3º de primaria practiquen sus habilidades de detección y visión y está incluido por los profesores en el programa de apoyo a la enseñanza de TI.

Prezi 6.26

Prezi 6.26

Prezi es una aplicación gratuita que te permite crear presentaciones digitales, tanto online como offline.

Matemáticas

Matemáticas

Mathway es una aplicación muy útil que puede ayudarte a resolver todos aquellos problemas matemáticos que requieren una herramienta más compleja que la calculadora integrada en tu dispositivo.

Presentador de Adobe

Presentador de Adobe

Adobe Presenter es un software de aprendizaje electrónico lanzado por Adobe Systems y disponible en la plataforma Microsoft Windows como un complemento de Microsoft PowerPoint.

Tucán 2.3.0

Tucán 2.3.0

Toucan es una plataforma tecnológica educativa. Le permite aprender un nuevo idioma mientras navega por sitios web comunes y cotidianos.

ESetViet 24.2

ESetViet 24.2

eNetViet es una aplicación que ayuda a conectar a los padres con la escuela donde estudian sus hijos para que puedan comprender claramente la situación de aprendizaje actual de sus hijos.

Duolingo

Duolingo

Duolingo - Aprende Idiomas Gratis, o simplemente Duolingo, es un programa educativo que te permite aprender y practicar muchos idiomas diferentes.

Escritura rápida

Escritura rápida

RapidTyping es una herramienta de entrenamiento de teclado conveniente y fácil de usar que lo ayudará a mejorar su velocidad de escritura y reducir los errores ortográficos. Con lecciones organizadas para muchos niveles diferentes, RapidTyping le enseñará cómo escribir o mejorar sus habilidades existentes.

Matemáticas 7.4.10.53

Matemáticas 7.4.10.53

MathType es un software de ecuaciones interactivas del desarrollador Design Science (Dessci), que le permite crear y anotar notaciones matemáticas para procesamiento de textos, presentaciones, aprendizaje electrónico, etc. Este editor también se utiliza para crear documentos TeX, LaTeX y MathML.