Как заполнить таблицу, используя 2 кадра данных - PullRequest
0 голосов
/ 28 декабря 2018

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

1. DueDate    |    item1    |     item2    |    item3    |    item4

2. 1/1/2018   |     nan     |      nan     |     nan     |     nan
3. 1/2/2018   |     nan     |      nan     |     nan     |     nan
4. 1/3/2018   |     nan     |      nan     |     nan     |     nan
5. 1/4/2018   |     nan     |      nan     |     nan     |     nan
6. 1/5/2018   |     nan     |      nan     |     nan     |     nan

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

1. DueDate    |    items 

2. 1/1/2018   |     item1
3. 1/2/2018   |     item3
4. 1/2/2018   |     item4    
5. 1/4/2018   |     item4   
6. 1/5/2018   |     item1
7. 1/5/2018   |     item3

Я хочузаполните первую таблицу соответствующими датами и пунктами, указав YES следующим образом:

1. DueDate    |    item1    |     item2    |    item3    |    item4

2. 1/1/2018   |     YES     |      nan     |     nan     |     nan
3. 1/2/2018   |     nan     |      nan     |     YES     |     YES
4. 1/3/2018   |     nan     |      nan     |     nan     |     nan
5. 1/4/2018   |     nan     |      nan     |     nan     |     YES
6. 1/5/2018   |     YES     |      nan     |     YES     |     nan

Как мне поступить, я много чего пробовал, но мне не повезло.Заранее спасибо!

1 Ответ

0 голосов
/ 28 декабря 2018

Вы можете использовать ниже get_dummies с присвоением df1:

df1[df2['items'].str.get_dummies().columns]=df2['items'].str.get_dummies().replace(1,'YES').replace(0,pd.np.nan)

А теперь:

print(df1)

Is:

    DueDate item1  item2 item3 item4
0  1/1/2018   YES    NaN   NaN   NaN
1  1/2/2018   NaN    NaN   YES   NaN
2  1/3/2018   NaN    NaN   NaN   YES
3  1/4/2018   NaN    NaN   NaN   YES
4  1/5/2018   YES    NaN   NaN   NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...