1
votes

Ajouter le dataframe avec les noms de colonne seuls à un autre dataframe avec des données

J'ai 2 dataframes comme ci-dessous.

Dataframe 1 (avec uniquement les noms de colonnes et aucune donnée):

Name   Age   Gender   level_1   level_2   level_3
NaN    NaN   NaN      AAA       26        M
NaN    NaN   NaN      BBB       19        F
NaN    NaN   NaN      CCC       24        F

0 lignes * 3 colonnes

Dataframe 2 (contient des données de plus de 1000 lignes):

dataframe_1 = dataframe_1.append(dataframe_2,ignore_index = True)

1000 lignes * 3 colonnes p >

Je dois ajouter les deux dataframes ci-dessus.

Résultat attendu

Dataframe 1

XXX

Ce que j'ai essayé jusqu'à présent:

Name   Age   Gender
AAA    26    M
BBB    19    F
CCC    24    F

qui m'a donné le résultat ci-dessous: strong>

level_1   level_2    level_3
AAA       26         M
BBB       19         F
CCC       24         F

1000 lignes * 6 colonnes


0 commentaires

3 Réponses :


2
votes

Besoin des mêmes noms de colonnes pour un alignement correct des colonnes entre les deux DataFrames, donc définissez les noms de colonnes par à partir d'un autre DataFrame:

print (dataframe_1)
  Name Age Gender
0  AAA  26      M
1  BBB  19      F
2  CCC  24      F

Autre solution:

dataframe_1 = pd.concat([dataframe_1, dataframe_2],ignore_index = True)


3 commentaires

Super .. Merci .. Fonctionne comme prévu :) Merci à tous pour une réponse rapide


@shankarBalu - différence d'une minute entre les réponses. :)


Ouais. 3 réponses en 3 minutes .. :)



3
votes

Compte tenu de ce que vous espérez, je ne vois aucun problème avec:

dataframe_2.columns = dataframe_1.columns


0 commentaires

2
votes

Remplacez l'attribut .columns du premier dataframe par le second:

    waka    wattafak
0   1   Cat
1   2   Tiger
2   3   Ball
3   1   Bat
import pandas as pd


df = pd.DataFrame({
    'val': ['Cat', 'Tiger', 'Ball', 'Bat'],
    'id': [1, 2, 3, 1]
})
df2 = pd.DataFrame({
    'waka': [],
    'wattafak': []
})
df.columns = df2.columns
df


0 commentaires