Ajout de deux dataframes avec les mêmes colonnes, d'ordre différent
J'ai deux pandas dataframes.
noclickDF = DataFrame([[0,123,321],[0,1543,432]], columns=['click', 'id','location'])
clickDF = DataFrame([[1,123,421],[1,1543,436]], columns=['click', 'location','id'])
Je veux simplement adhérer à de telles que la finale DF va ressembler:
click | id | location
0 123 321
0 1543 432
1 421 123
1 436 1543
Comme vous pouvez le voir les noms des colonnes à la fois originale DF sont pas les mêmes, mais pas dans le même ordre. Aussi il n'y a pas de joindre dans une colonne.
OriginalL'auteur redrubia | 2014-01-29
Vous devez vous connecter pour publier un commentaire.
Vous pouvez également utiliser pd.concat:
Sous le capot,
DataFrame.append
appelspd.concat
.DataFrame.append
a code pour la manipulation de divers types de participation, comme la Série, tuples, listes et dicts. Si vous passer un DataFrame, il passe directement à travers àpd.concat
, afin de l'utiliserpd.concat
est un peu plus direct.Grand et descriptif de réponse. Voté et suggéré plus de
ignore_index
.OriginalL'auteur unutbu
Pour les futurs utilisateurs (parfois >pandas 0.23.0):
Vous pouvez aussi avoir besoin d'ajouter tri=True pour trier les non-concaténation de l'axe quand il n'est pas déjà alignés (c'est à dire de conserver l'OP est souhaité de concaténation de comportement). J'ai utilisé le code ci-dessus ont contribué et reçu un avertissement, voir Python Pandas Avertissement De L'Utilisateur. Le code ci-dessous fonctionne et ne pas jeter un avertissement.
OriginalL'auteur Beau Hilton
Vous pouvez utiliser pour ajouter que
et si vous avez besoin vous pouvez réinitialiser l'index par
OriginalL'auteur greole