параметр 'join' в Dataframe.update () - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь обновить фрейм данных с другим.Я заметил, что «update» только обновляет значения в соответствующих столбцах и не добавляет новые столбцы из другого фрейма.В любом случае выполнять обе функции: обновлять значения и добавлять новый столбец?

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [400, 500, 600]})
new_df = pd.DataFrame({'B': [4, 5, 6],'C': [7, 8, 9]})
df.update(new_df, join='left')

Обновлено df не имеет столбца 'C'.Почему так?Что именно join='left' делает?

1 Ответ

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

join='left' - режим по умолчанию и только в настоящее время (по состоянию на Pandas 0.23) реализованный режим.Согласно документации :

Реализовано только левое объединение, сохраняя индекс и столбцы исходного объекта.

Так что вам понадобитсявыполнить задачу в два этапа: обновить и отдельно добавить новые столбцы - либо вручную, либо с помощью df.join():

df.join(new_df, rsuffix='_new')

, либо просто используйте цикл через new_df.columns и отметьте if column in df.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...