Соедините наборы данных, которые имеют несколько строк, назначенных для ключа таблицы - Как предотвратить дублирование Qty? - PullRequest
0 голосов
/ 04 февраля 2019

У меня вопрос о том, как лучше объединить указанные ниже наборы данных.

Набор данных 1:

Order Material Qty
5111 chair 4
5111 table 1
5111 book 3
6222 chair 4
6222 table 1

Набор данных 2:

Order Customer Type Customer ID
5111 Sold-to 222
5111 Ship-to 333
5111 Payer 444
6222 Sold-to 555
6222 Ship-to 777
6222 Payer 888

Набор данных после объединения:

Order Material Qty Customer Type Customer ID
5111 chair 4 Sold-to 222
5111 chair 4 Ship-to 333
5111 chair 4 Payer 444
5111 table 1 Sold-to 222
5111 table 1 Ship-to 333
5111 table 1 Payer 444
5111 book 3 Sold-to 222
5111 book 3 Ship-to 333
5111 book 3 Payer 444
6222 chair 4 Sold-to 555
6222 chair 4 Ship-to 777
6222 chair 4 Payer 888
6222 table 1 Sold-to 555
6222 table 1 Ship-to 777
6222 table 1 Payer 888

Я думаю, что это общая проблема, когда необходимо объединить два набора данных, имеющие несколько строк, связанных с одним и тем же ключом таблицы (порядком).

Однако, если задействованы количества, как я могу предотвратить проблему дублирования количества после объединения?

Спасибо за помощь.

1 Ответ

0 голосов
/ 04 февраля 2019

IIUC, вам нужно df.combine_first()

с df и df1 в качестве имен кадра данных

df.combine_first(df1)

  Customer  Customer.1  ID Material   Order  Qty   Type
0  Sold-to         NaN NaN    chair  5111.0  4.0  222.0
1  Ship-to         NaN NaN    table  5111.0  1.0  333.0
2    Payer         NaN NaN     book  5111.0  3.0  444.0
3  Sold-to         NaN NaN    chair  6222.0  4.0  555.0
4  Ship-to         NaN NaN    table  6222.0  1.0  777.0
5    Payer         NaN NaN      NaN  6222.0  NaN  888.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...