@Dato38it

Как объединить две таблицы в pandas?

Есть 2 таблицы dataframe:
|    | BS_name    | BSC | LAC | CELL   |
|----|------------|-----|-----|--------|
| 25 | test1-B-II | NaN | NaN | test11 |
| 26 | test1-B-II | NaN | NaN | test12 |
| 27 | test1-B-II | NaN | NaN | test13 |
| 37 | test2      | NaN | NaN | test21 |
| 38 | test2      | NaN | NaN | test22 |
| 39 | test2      | NaN | NaN | test23 |

|   | NodeId | GeranCellId | LAC   |
|---|--------|-------------|-------|
| 1 | PRM140 | test11      | 20634 |
| 2 | PRM140 | test12      | 20634 |
| 3 | PRM140 | test13      | 20634 |
| 4 | PRM142 | test21      | 54500 |
| 5 | PRM142 | test22      | 54500 |
| 6 | PRM142 | test23      | 54500 |
| 7 | PRM143 | test31      | 20632 |
| 8 | PRM143 | test32      | 20632 |
| 9 | PRM143 | test33      | 20632 |

как объединить эти таблицы dataframe в одну таким образом:
|    | BS_name    | BSC    | LAC   | CELL   |
|----|------------|--------|-------|--------|
| 25 | test1-B-II | PRM140 | 20634 | test11 |
| 26 | test1-B-II | PRM140 | 20634 | test12 |
| 27 | test1-B-II | PRM140 | 20634 | test13 |
| 37 | test2      | PRM142 | 54500 | test21 |
| 38 | test2      | PRM142 | 54500 | test22 |
| 39 | test2      | PRM142 | 54500 | test23 |

то есть в первой таблице заполняется BSC и LAC. из второй таблицы
CELL и GeranCellId - это связь между таблицами.
  • Вопрос задан
  • 36 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
pd.merge(левая таблица, правая таблица, left_on='CELL',right_on='GeranCellId ', how=method)

где метод left, right,inner, outer, cross. Это типы джойнов.
merge

Ну и выбери нужные колонки, например. для левой таблицы тебе не нужны BSC и LAC, если ты по правой будешь джойнить, тебе эти колонки оттуда нужны. Выбирать нужные колонки и ставить их в желаемом порядке делают c помощью loc. фрейм.loc[:,[колонка1, колнка2, итд]]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы