Pandas extérieur de la colonne de fusion Séquence ne fixe

voix
0

Je suis en train de fusionner deux trames de données à l'aide de pandas géants. Je fais la fusion externe des trames de données. Mon trame de données comporte des colonnes suivantes:

DF1: (ID, X)
DF2: (ID, Y, Z)

lorsque i fusionner ces trames de données, la séquence de colonnes dans les changements de trame de données de sortie.

Pour quelques itérations que je reçois

DF_OUTPUT: (ID, X, Y, Z)

ou il est parfois:

DF_OUTPUT: (X, ID, Y, Z)

Comment puis-je conserver la séquence de colonnes dans la trame de données de sortie?

Créé 27/11/2018 à 15:20
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
2

Vous pouvez .reindexaprès la fusion. L' utilisation pd.uniquequi préservera l'ordre d'apparition, contrairement à ce np.uniquequi trie.

import pandas as pd

cols = pd.unique(df1.columns.append(df2.columns))
df1.merge(df2, how='outer').reindex(cols, axis=1)
Créé 27/11/2018 à 16:17
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more