Назначение идентификатора кадра данных на основе идентификатора в другом кадре данных - PullRequest
0 голосов
/ 02 октября 2018

У меня есть два фрейма данных, называемые фреймом данных A и фреймом данных B

             A
    id| column1 |column2
    3 |    439  |  2398
    41|    498  |   34
    2 |    233  |   43

           B
    column1 |column2
      439   |  2398
      498   |   56
      233   |   43

Я хотел бы назначить столбец id для фрейма данных B на основе идентификаторов в фрейме данных A. Если в фрейме данных присутствует строкав кадре данных B я хотел бы назначить соответствующий идентификатор из кадра данных A для кадра данных B. Если строка в кадре данных B не находится в кадре данных, то AI хотел бы присвоить "None" этой ячейке в столбце id в B. То естьЯ хотел бы иметь

             B
    id  | column1 |column2
    3   |    439  |  2398
    None|    498  |   56
    2   |    233  |   43

Вопрос: Как назначить идентификаторы из кадра данных A в кадр данных B на основе столбцов в кадре данных B?

1 Ответ

0 голосов
/ 02 октября 2018

Вы можете использовать левое слияние.Примечание для числового ряда NaN значения приведут к тому, что серия id станет типа float.В большинстве случаев это не проблема, и я бы не советовал вам «принудительно» преобразовывать типы построчно.

res = pd.merge(B, A, how='left')

print(res)

   column1  column2   id
0      439     2398  3.0
1      498       56  NaN
2      233       43  2.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...