0
votes

Ajouter une valeur de colonne Dataframe à un autre Dataframe

J'ai deux dataframes. DF1 est vide DataFrame et DF2 comporte des données comme indiqué. Il y a peu de colonnes communes dans les deux DFS. Je souhaite ajouter des données de colonnes DF2 DataFrame dans la colonne DF1 Dataframe. DF3 est attendu Résultat.

J'ai référé python + pandas + Dataframe: Impossible d'ajouter un fichier de données à un autre , mais ne fonctionne pas. Il donne l'erreur suivante: ValueError: Les formes de planes ne sont pas alignées

df1: xxx

df2: xxx

df3 ( Sortie attendue): xxx

essayé avec annexe mais ne pas obtenir le résultat souhaité


0 commentaires

3 Réponses :


0
votes

Avez-vous essayé pd.concat ?

pd.concat ([df1, df2])


0 commentaires

0
votes

L'annexe semble fonctionner pour moi. Cela ne fait-il pas ce que vous voulez? XXX PRE>

Sortie: P>

df1: 
Empty DataFrame
Columns: [a, b, c]
Index: []
df2:
   a  c
0  0  1
1  2  3
df1.append(df2):
   a    b  c
0  0  NaN  1
1  2  NaN  3


0 commentaires

1
votes
import pandas as pd

l1 = ['a', 'b', 'c', 'd', 'e']
l2 = []
df1 = pd.DataFrame(l2, columns=l1)


l3 = ['c', 'e']
l4 = [[11, 55],
      [22, 66]]
df2 = pd.DataFrame(l4, columns=l3)



print("concat","\n",pd.concat([df1,df2]))  # columns will be inplace

print("merge Nan","\n",pd.merge(df2, df1,how='left', on=l3))  # columns occurence is not preserved


#### Output  ####
#concat 
      a    b   c    d   e
0  NaN  NaN  11  NaN  55
1  NaN  NaN  22  NaN  66

#merge
     c   e    a    b    d
0  11  55  NaN  NaN  NaN
1  22  66  NaN  NaN  NaN

2 commentaires

Oui, cela sert le but. Et si, nous voulons ajouter des données DF2 dans la trame de données existante qui contient déjà des données.


Selon les exigences spécifiques, vous pouvez également concéder, fusionner, ajouter ou même rejoindre la fonction. Cela peut vous aider Merge_join_concat