Agregar filas a un DataFrame de Pandas: Una guía paso a paso
Published on
En proyectos de análisis de datos y aprendizaje automático, a menudo es necesario agregar nuevas observaciones a un DataFrame de Pandas. Ya sea que esté lidiando con datos de encuestas, lecturas de sensores o registros de comportamiento de usuarios, debe poder agregar nuevas filas a un DataFrame existente de manera eficiente. Pandas, una popular biblioteca de manipulación de datos en Python, ofrece varios métodos para agregar filas a un DataFrame. En este tutorial, exploraremos tres de ellos: .loc
, .append
y .concat
. Vamos a sumergirnos.
¿Quieres crear visualizaciones de datos rápidamente en Python?
PyGWalker es un proyecto de Python de código abierto que puede ayudar a acelerar el flujo de trabajo de análisis y visualización de datos directamente en entornos basados en Jupyter Notebook.
PyGWalker (opens in a new tab) convierte su DataFrame de Pandas (o DataFrame de Polars) en una interfaz de usuario visual donde puede arrastrar y soltar variables para crear gráficos fácilmente. Simplemente use el siguiente código:
pip install pygwalker
importar pygwalker como pyg
gwalker = pyg.walk(df)
Puede ejecutar PyGWalker ahora mismo con estas notebooks en línea:
¡Y no olvides darnos una ⭐️ en GitHub!
Agregar una fila usando el método .loc
El método .loc
en Pandas le permite seleccionar un subconjunto de un DataFrame según sus etiquetas. También puede usarlo para agregar una nueva fila al DataFrame. Así es cómo:
importar pandas como pd
# creando un DataFrame de muestra
df = pd.DataFrame({
'Nombre': ['John', 'Sara', 'Tim'],
'Edad': [25, 34, 41],
'Ciudad': ['Nueva York', 'Londres', 'París']
})
# agregar una nueva fila usando .loc
df.loc[3] = ['Anna', 29, 'Berlín']
imprimir(df)
En el código anterior, primero creamos un DataFrame df
con tres filas y tres columnas. Luego, usamos el método .loc
y especificamos un índice de fila de 3. Finalmente, proporcionamos una lista de valores para la nueva fila.
Salida:
Nombre Edad Ciudad
0 John 25 Nueva York
1 Sara 34 Londres
2 Tim 41 París
3 Anna 29 Berlín
Tenga en cuenta que el índice de fila de la nueva fila es 3, lo que significa que se agregará después de la última fila del DataFrame. También puede usar .loc
para insertar una fila en una ubicación específica especificando la etiqueta de fila. Por ejemplo, para insertar una nueva fila después de la segunda fila del DataFrame, puede hacer:
# insertar una nueva fila después de la segunda fila
df.loc[2.5] = ['Peter', 37, 'Los Ángeles']
imprimir(df)
Salida:
Nombre Edad Ciudad
0 John 25 Nueva York
1 Sara 34 Londres
2 Tim 41 París
2.5 Peter 37 Los Ángeles
3 Anna 29 Berlín
Aquí, insertamos la nueva fila después de la etiqueta 2
usando una etiqueta de 2.5
. Pandas reordena automáticamente las etiquetas de fila para mantenerlas en orden ascendente.
Agregar una fila usando el método .append
El método .append
en Pandas le permite combinar dos DataFrames verticalmente. Puede usarlo para agregar una nueva fila a un DataFrame pasando un DataFrame con una sola fila al método .append
. Aquí tienes un ejemplo:
# creando una nueva fila como un DataFrame
nueva_fila = pd.DataFrame({
'Nombre': ['Julia'],
'Edad': [31],
'Ciudad': ['Tokio']
})
# usar .append para agregar la nueva fila
df = df.append(nueva_fila, ignore_index=True)
imprimir(df)
Salida:
Nombre Edad Ciudad
0 John 25 Nueva York
1 Sara 34 Londres
2 Tim 41 París
3 Anna 29 Berlín
4 Julia 31 Tokio
En el código anterior, primero creamos un nuevo DataFrame nueva_fila
con una sola fila de datos. Luego, usamos el método .append
y pasamos nueva_fila
como argumento. El parámetro ignore_index=True
le indica a Pandas que reindexe el DataFrame de 0 a 4.
Agregar múltiples filas usando el método .concat
El método .concat
en Pandas le permite concatenar dos DataFrames a lo largo de un eje especificado. Puede usarlo para agregar múltiples filas a un DataFrame pasando una lista de DataFrames al método .concat
. Así es cómo puede agregar dos nuevas filas al DataFrame df
usando .concat
.
# creando dos nuevas filas como DataFrames
nuevas_filas = [pd.DataFrame({
'Nombre': ['María', 'Adam'],
'Edad': [27, 45],
'Ciudad': ['Sídney', 'Toronto']}),
]
# usando .concat para agregar las nuevas filas
df = pd.concat([df] + nuevas_filas, ignore_index=True)
imprimir(df)
Salida:
Nombre Edad Ciudad
0 John 25 Nueva York
1 Sara 34 Londres
2 Tim 41 París
3 Anna 29 Berlín
4 María 27 Sídney
5 Adam 45 Toronto
En el código anterior, primero creamos un DataFrame nuevo nuevas_filas
con dos filas de datos. Luego, usamos el método .concat
y pasamos [df] + nuevas_filas
como argumento. El parámetro ignore_index=True
le indica a Pandas que vuelva a indexar el DataFrame de 0 a 5.
Por favor proporciona la traducción al español de este archivo markdown. Evita traducir el código como: import BlogHeader from '../../../components/blog-header'; import BeehiivEmbed from '../../../components/BeehiivEmbed'; import JSONldScript from '../../../components/jsonld-script'; Traduce el contenido de JSONldScript. Si hay un frontmatter, asegúrate de traducir el parámetro language al correspondiente es. Aquí está el archivo:
4 Maria 27 Sydney 5 Adam 45 Toronto
En el código anterior, primero creamos dos nuevos DataFrames `new_rows`. Luego, los pasamos como una lista al método `.concat` junto con `df`. El parámetro `ignore_index=True` reordena el índice de 0 a 5.
## Conclusión
En este tutorial, exploramos tres métodos diferentes para agregar nuevas filas a un DataFrame de Pandas en Python: `.loc`, `.append` y `.concat`. Cada método tiene sus ventajas y desventajas, dependiendo de la situación. El método `.loc` es útil cuando quieres agregar una sola fila en una ubicación específica. El método `.append` es una forma sencilla de agregar una sola fila al final de un DataFrame. El método `.concat` es ideal cuando quieres agregar múltiples filas a la vez. Conocer estos métodos te ayudará a manipular DataFrames de manera eficiente y efectiva en tus proyectos de análisis de datos y aprendizaje automático. ¡Feliz codificación!
import BeehiivEmbed from '../../../components/BeehiivEmbed';
<BeehiivEmbed />