Cómo apilar múltiples marcos de datos de Pandas

A menudo, es posible que desee apilar dos o más Pandas DataFrames. Afortunadamente, esto es fácil de hacer usando la función pandas concat () .

Este tutorial muestra varios ejemplos de cómo hacerlo.

Ejemplo 1: apilar dos marcos de datos de Pandas

El siguiente código muestra cómo «apilar» dos DataFrames de pandas uno encima del otro y crear un DataFrame:

importar pandas como pd

#create dos DataFrames
df1 = pd.DataFrame ({'jugador': ['A', 'B', 'C', 'D', 'E'],
                    'puntos': [12, 5, 13, 17, 27]})

df2 = pd.DataFrame ({'jugador': ['F', 'G', 'H', 'I', 'J'],
                    'puntos': [24, 26, 27, 27, 12]})

# "apile" los dos DataFrames juntos 
df3 = pd. concat ([df1, df2], ignore_index = True )

#ver DataFrame resultante
df3

	puntos de jugador
0 A 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7 H 27
8 yo 27
9 J 12

Ejemplo 2: apilar tres marcos de datos de Pandas

Se puede usar un código similar para apilar tres DataFrames pandas uno encima del otro para crear un DataFrame:

importar pandas como pd

#create dos DataFrames
df1 = pd.DataFrame ({'jugador': ['A', 'B', 'C', 'D', 'E'],
                    'puntos': [12, 5, 13, 17, 27]})

df2 = pd.DataFrame ({'jugador': ['F', 'G', 'H', 'I', 'J'],
                    'puntos': [24, 26, 27, 27, 12]})

df3 = pd.DataFrame ({'jugador': ['K', 'L', 'M', 'N', 'O'],
                    'puntos': [9, 5, 5, 13, 17]})

# "apile" los dos DataFrames juntos 
df4 = pd. concat ([df1, df2, df3], ignore_index = True )

#ver DataFrame resultante
df4

        puntos de jugador
0 A 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7 H 27
8 yo 27
9 J 12
10 K 9
11 L 5
12 M 5
13 N 13
14 O 172

La importancia de ignore_index

Tenga en cuenta que en los ejemplos anteriores usamos ignore_index = True . Esto le dice a los pandas que ignoren los números de índice en cada DataFrame y que creen un nuevo índice que va de 0 a n-1 para el nuevo DataFrame.

Por ejemplo, considere lo que sucede cuando no usamos ignore_index = True al apilar los siguientes dos DataFrames:

importar pandas como pd

#crea dos DataFrames con índices
df1 = pd.DataFrame ({'jugador': ['A', 'B', 'C', 'D', 'E'],
                    'puntos': [12, 5, 13, 17, 27]},
                    índice = [0, 1, 2, 3, 4])

df2 = pd.DataFrame ({'jugador': ['F', 'G', 'H', 'I', 'J'],
                    'puntos': [24, 26, 27, 27, 12]},
                    índice = [2, 4, 5, 6, 9])

# apilar los dos DataFrames juntos 
df3 = pd. concat ([df1, df2])

#ver DataFrame resultante
df3

        puntos de jugador
0 A 12
1 B 5
2 C 13
3 D 17
4 E 27
2 F 24
4 G 26
5 H 27
6 de 27
9 J 12

El DdataFrame resultante mantuvo sus valores de índice originales de los dos DataFrames. Por lo tanto, normalmente debe usar ignore_index = True cuando apila dos DataFrames a menos que tenga una razón específica para mantener los valores de índice originales.

Recursos adicionales

Cómo agregar una columna vacía a un DataFrame de Pandas
Cómo insertar una columna en un DataFrame de Pandas
Cómo exportar un DataFrame de Pandas a Excel

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Una distribución multimodal es una distribución de probabilidad con dos o más modos. Si crea un histograma para visualizar una…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!