Добавить фрейм данных только с именами столбцов в другой фрейм данных - PullRequest
1 голос
/ 28 мая 2019

У меня есть 2 кадра данных, как показано ниже.

Дата кадра 1 (только с именами столбцов и без данных):

Name   Age   Gender

0 строк * 3 столбца

Фрейм данных 2 (содержит данные с более чем 1000 строк):

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

1000 строк * 3 столбца

Я должен добавить оба вышеупомянутых фрейма данных.

Ожидаемый результат

Кадр данных 1

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

Что я пробовал до сих пор:

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

, который дал мне следующий вывод:

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

1000 строк * 6 столбцов

Ответы [ 3 ]

3 голосов
/ 28 мая 2019

Учитывая то, на что вы надеетесь, я не вижу проблем с:

dataframe_2.columns = dataframe_1.columns
2 голосов
/ 28 мая 2019

Заменить атрибут .columns для первого кадра данных на второй:

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
    waka    wattafak
0   1   Cat
1   2   Tiger
2   3   Ball
3   1   Bat
2 голосов
/ 28 мая 2019

Требуются одинаковые имена столбцов для правильного выравнивания столбцов между двумя фреймами данных, поэтому задайте имена столбцов из другого фрейма данных:

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

Другое решение:

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

print (dataframe_1)
  Name Age Gender
0  AAA  26      M
1  BBB  19      F
2  CCC  24      F
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...