Función Pandas DataFrame DataFrame.append()
-
Sintaxis de
pandas.DataFrame.append()
Método: -
Códigos de ejemplo: Agrega dos DataFrames con
pandas.DataFrame.append()
-
Códigos de ejemplo: Añade los DataFrames e ignora el índice con
pandas.DataFrame.append()
-
Establezca
verify_integrity=True
en el métodoDataFrame.append()
- Códigos de ejemplo: Agregar DataFrame con Columna(s) Diferente(s)
El método pandas.DataFrame.append()
toma un DataFrame como entrada y fusiona sus filas con filas de DataFrame llamando al método finalmente devolviendo un nuevo DataFrame. Si alguna columna en el DataFrame de entrada no está presente en el DataFrame que llama, entonces las columnas se añaden al DataFrame, y los valores que faltan se establecen como NaN
.
Sintaxis de pandas.DataFrame.append()
Método:
DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=False)
Parámetros
other |
Input DataFrame o Series, o Diccionario de Python cuyas filas deben ser anexadas |
ignore_index |
Booleana. Si True , los índices del DataFrame original son ignorados. El valor por defecto es False , lo que significa que se utilizan los índices. |
verify_integrity |
Booleana. Si True , sube ValueError al crear el índice con los duplicados. El valor por defecto es False . |
sort |
Booleana. Ordena el original y el otro DataFrame si las columnas no están alineadas. |
Códigos de ejemplo: Agrega dos DataFrames con pandas.DataFrame.append()
import pandas as pd
names_1=['Hisila', 'Brian','Zeppy']
salary_1=[23,30,21]
names_2=['Ram','Shyam',"Hari"]
salary_2=[22,23,31]
df_1 = pd.DataFrame({'Name': names_1, 'Salary': salary_1})
df_2 = pd.DataFrame({'Name': names_2, 'Salary': salary_2})
merged_df = df_1.append(df_2)
print(merged_df)
Resultado:
Name Salary
0 Hisila 23
1 Brian 30
2 Zeppy 21
Name Salary
0 Ram 22
1 Shyam 23
2 Hari 31
Name Salary
0 Hisila 23
1 Brian 30
2 Zeppy 21
0 Ram 22
1 Shyam 23
2 Hari 31
Añade df_2
al final de df_1
y devuelve merged_df
fusionando filas de ambos DataFrames. Aquí, los índices de merged_df
son los mismos que sus DataFrames padres.
Códigos de ejemplo: Añade los DataFrames e ignora el índice con pandas.DataFrame.append()
import pandas as pd
names_1=['Hisila', 'Brian','Zeppy']
salary_1=[23,30,21]
names_2=['Ram','Shyam',"Hari"]
salary_2=[22,23,31]
df_1 = pd.DataFrame({'Name': names_1, 'Salary': salary_1})
df_2 = pd.DataFrame({'Name': names_2, 'Salary': salary_2})
merged_df = df_1.append(df_2,ignore_index=True)
print(df_1)
print(df_2)
print( merged_df)
Resultado:
Name Salary
0 Hisila 23
1 Brian 30
2 Zeppy 21
Name Salary
0 Ram 22
1 Shyam 23
2 Hari 31
Name Salary
0 Hisila 23
1 Brian 30
2 Zeppy 21
3 Ram 22
4 Shyam 23
5 Hari 31
Añade df_2
al final de df_1
y aquí el merged_df
obtiene índices completamente nuevos usando el argumento ignore_index=True
en el método append()
.
Establezca verify_integrity=True
en el método DataFrame.append()
Si ponemos verify_integrity=True
en el método append()
, obtenemos el ValueError
para los índices duplicados.
import pandas as pd
names_1=['Hisila', 'Brian','Zeppy']
salary_1=[23,30,21]
names_2=['Ram','Shyam',"Hari"]
salary_2=[22,23,31]
df_1 = pd.DataFrame({'Name': names_1, 'Salary': salary_1})
df_2 = pd.DataFrame({'Name': names_2, 'Salary': salary_2})
merged_df = df_1.append(df_2,verify_integrity=True)
print(df_1)
print(df_2)
print( merged_df)
Resultado:
ValueError: Indexes have overlapping values: Int64Index([0, 1, 2], dtype='int64')
Genera un ValueError
porque los elementos en “ff_1” y “ff_2” tienen los mismos índices por defecto. Para evitar este error, usamos el valor por defecto de verify_integrity
, es decir, verify_integrity=False
.
Códigos de ejemplo: Agregar DataFrame con Columna(s) Diferente(s)
Si añadimos un DataFrame
con una columna diferente, esta columna se añade al DataFrame
resultante, y las celdas correspondientes de las columnas inexistentes en el original o el otro DataFrame
se establecen como NaN
.
import pandas as pd
names_1=['Hisila', 'Brian','Zeppy']
salary_1=[23,30,21]
names_2=['Ram','Shyam',"Hari"]
salary_2=[22,23,31]
Age=[30,31,33]
df_1 = pd.DataFrame({'Name': names_1, 'Salary': salary_1})
df_2 = pd.DataFrame({'Name': names_2, 'Salary': salary_2,"Age":Age})
merged_df = df_1.append(df_2, sort=False)
print(df_1)
print(df_2)
print( merged_df)
Resultado:
Name Salary
0 Hisila 23
1 Brian 30
2 Zeppy 21
Name Salary Age
0 Ram 22 30
1 Shyam 23 31
2 Hari 31 33
Name Salary Age
0 Hisila 23 NaN
1 Brian 30 NaN
2 Zeppy 21 NaN
0 Ram 22 30.0
1 Shyam 23 31.0
2 Hari 31 33.0
Aquí, las filas de df_1
obtienen valores NaN
para la columna Age
porque la columna Age
está presente sólo en df_2
.
También establecemos sort=False
para silenciar la advertencia de que la ordenación será desaprobada en la futura versión de Pandas.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn