Объединяйте Dataframes по столбцам и создавайте новые столбцы по значению Pandas Python - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть 2 кадра данных df1 и df2, я пытаюсь объединить затем по столбцу (продукт).

df1 
    product name    Exist
0     1      foo    False
1     2      bar    True
2     3      lorem  False
3     4      ipsum  False
.
.


df2
    product date_search sold
0     1      2020-04-10 10
1     1      2020-04-11 15
2     1      2020-04-12 20
3     2      2020-04-10 8
4     2      2020-04-11 10
5     2      2020-04-12 30
6     3      2020-04-10 2
7     3      2020-04-11 5
8     3      2020-04-12 7
9     4      2020-04-10 4
10    4      2020-04-11 10
11    4      2020-04-12 15
.
.

Я хотел бы добавить новые столбцы к результирующему фрейму данных со значением df2 в качестве столбца и другими значениями df2 в качестве значения. Кто-нибудь может мне помочь? Например:

df2
    product Exists 2020-04-10 2020-04-11 2020-04-12 
0     1     False      10         15        20
1     2     True        8         10        30
2     3     False       2          5         7
3     4     False       4         10        15
.
.

Спасибо!

1 Ответ

0 голосов
/ 16 апреля 2020

@ Куанг Хоанг прибил его - просто сделай это:

import pandas as pd

dict1 = {"product" : [1,2,3,4], "name" : ['foo','bar','lorem','ipsum'], "exists": ['false','true','false','false']}
dict2 = {"product" : [1,1,2,2,3,3,4,4], "date": ['2020-01-01','2020-01-02','2020-01-01','2020-01-02','2020-01-01','2020-01-02','2020-01-01','2020-01-02'], "quantity": [10,14,15,4,6,77,34,9]}
df1 = pd.DataFrame.from_dict(dict1)
df2 = pd.DataFrame.from_dict(dict2)


df1.merge(df2.pivot(*df2), left_on='product', right_index=True, how='left' )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...