Панды объединяют несколько фреймов данных и создают сводную таблицу

#python #pandas #merge #data-science #pivot-table

Вопрос:

Как я могу построить сводную таблицу pandas, используя данные из двух разных фреймов данных?

Таблица 1:
Фрейм данных 1

 A    B       C    D
1   apple   100 qwerty
2   apple   101 qwerty1
3   apple   102 qwerty2
 

Таблица 2:

Фрейм данных 2

 A     B      C    D
1   orange  200 asdfgh1
2   orange  201 asdfgh2
3   orange  202 asdfgh3
 

Цель сводной таблицы:

Сводная таблица целей

                     C         D
A         B
1       apple      100      qwerty
        orange     200      asdfgh1
2       apple      101      qwerty1
        orange     201      asdfgh2
 

Комментарии:

1. df1.append(df2) ?

2. это работает, спасибо

Ответ №1:

 import pandas as pd

df = pd.DataFrame({'A': [1,2,3], 'B': ['apple']*3 , 'C': [100, 101, 102], 'D': ['qwerty', 'qwerty1', 'qwerty2']})
df2 = pd.DataFrame({'A': [1,2,3], 'B': ['orange']*3 , 'C': [200, 201, 202], 'D': ['asdfgh', 'asdfgh1', 'asdfgh2']})

pd.concat((df,df2)).groupby(['A', 'B']).first()

            C        D
A B
1 apple   100   qwerty
  orange  200   asdfgh
2 apple   101  qwerty1
  orange  201  asdfgh1
3 apple   102  qwerty2
  orange  202  asdfgh2