Pandas DataFrame DataFrame.append() Fonction
-
Syntaxe de la méthode
pandas.DataFrame.append()
: -
Exemples de codes: ajoutez deux DataFrames avec
pandas.DataFrame.append()
-
Exemples de codes: ajouter des cadres de données et ignorer l’index avec
pandas.DataFrame.append()
-
Définissez
verify_integrity = True
dans la méthodeDataFrame.append()
- Exemples de codes: ajouter une trame de données avec différentes colonnes
pandas.DataFrame.append()
prend un DataFrame en entrée et fusionne ses lignes avec des lignes de DataFrame appelant la méthode retournant finalement un nouveau DataFrame. Si aucune colonne de DataFrame d’entrée n’est présente dans DataFrame de l’appelant, les colonnes sont ajoutées à DataFrame et les valeurs manquantes sont définies sur NaN
.
Syntaxe de la méthode pandas.DataFrame.append()
:
DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=False)
Paramètres
other |
Input DataFrame ou Series, ou de type Python Dictionary dont les lignes doivent être ajoutées |
ignore_index |
Booléen. Si True , les index du DataFrame d’origine sont ignorés. La valeur par défaut est False , ce qui signifie que les index sont utilisés. |
verify_integrity |
Booléen. Si True , élevez ValueError lors de la création d’un index avec des doublons. La valeur par défaut est False . |
sort |
Booléen. Il trie l’original et l’autre DataFrame si les colonnes ne sont pas alignées. |
Exemples de codes: ajoutez deux DataFrames avec 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)
Production:
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
Il ajoute df_2
à la fin de df_1
et retourne merged_df
fusionnant les lignes des deux DataFrames. Ici, les indices de merged_df
sont les mêmes que leurs DataFrames parents.
Exemples de codes: ajouter des cadres de données et ignorer l’index avec 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)
Production:
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
Il ajoute df_2
à la fin de df_1
et ici le merged_df
obtient des indices complètement nouveaux en utilisant l’argument ignore_index = True
dans la méthode append()
.
Définissez verify_integrity = True
dans la méthode DataFrame.append()
Si nous définissons verify_integrity = True
dans la méthode append()
, nous obtenons la ValueError
pour les indices en double.
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)
Production:
ValueError: Indexes have overlapping values: Int64Index([0, 1, 2], dtype='int64')
Il génère une ValueError
car les éléments de df_1
et df_2
ont les mêmes indices par défaut. Pour éviter cette erreur, nous utilisons la valeur par défaut de verify_integrity
c’est-à-dire verify_integrity = False
.
Exemples de codes: ajouter une trame de données avec différentes colonnes
Si nous ajoutons un DataFrame
avec une colonne différente, cette colonne est ajoutée au DataFrame
résultant ’et les cellules correspondantes des colonnes inexistantes dans l’original ou l’autre DataFrame
sont définies pour être 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)
Production:
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
Ici, les lignes de df_1
obtiennent des valeurs de NaN
pour la colonne Age
car la colonne Age
est présente uniquement dans df_2
.
Nous avons également défini sort = False
pour faire taire l’avertissement selon lequel le tri sera obsolète dans la future version de Pandas.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn