Я один dataframe, A
, который выглядит следующим образом:Объединение двух панд кадры данных
+---+------------+-----------+-----------+-----+-------+
| | time | uid | o_uid | msg | count |
+---+------------+-----------+-----------+-----+-------+
| 0 | 1433131357 | 191470529 | 191159572 | eis | 1 |
| 1 | 1433131410 | 191458009 | 160429326 | eis | 1 |
| 2 | 1433131504 | 191470523 | 153734142 | eis | 1 |
| 3 | 1433131685 | 191470551 | 191470546 | eis | 1 |
| 4 | 1433131782 | 191470565 | 187367195 | eis | 1 |
+---+------------+-----------+-----------+-----+-------+
И еще dataframe, B
, который выглядит следующим образом:
+---+------------+-----------+-------+
| | time | uid | count |
+---+------------+-----------+-------+
| 0 | 1433131967 | 191470529 | 1 |
| 1 | 1433132503 | 191466638 | 1 |
| 2 | 1433139333 | 191451858 | 1 |
| 3 | 1433141249 | 191470551 | 1 |
| 4 | 1433143867 | 191471209 | 1 |
+---+------------+-----------+-------+
Что я хотел бы сделайте все отметки времени от B
и поместите их в колонку в A
, где находится матч UIDs
. Там, где нет совпадения, должно быть NaN
Я попытался это: df = pd.merge(A, B, left_on='uid', right_on='uid', how='outer')
Но я думаю, что это только добавляется B
к нижней части A
. Это не сработало, как ожидалось.