Задать вопрос

Как в pandas заменить часть массива DataFrame другим массивом DataFrame?

Здравствуйте. Что-то меня переклинило. Не могу вспомнить команду, чтобы заменить часть DataFrame другим DataFrame. Оба массива имеют одинаковую длину, и общие столбцы. Нужно чтобы эти общие столбцы у одного из них были заменены такими же столбцами из другого. Как это сделать?

Знаю, что можно сделать так:
df3 = df1.replace(df1.to_dict(orient='list'), df2.to_dict(orient='list'))

Но это выполняется очень долго, проще сделать перебором.
  • Вопрос задан
  • 240 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
LazyTalent
@LazyTalent
Data Engineer, Freelancer
>>> import pandas as pd

>>> 
>>> df1 = pd.DataFrame({'item': [1, 2, 3, 4], 'val1': [213, 31, 12, 2132], 'val2': [54, 322, 23, 23]})
>>> df2 = pd.DataFrame({'item': [1, 2, 3, 4], 'val1': [213, 31, 12, 2132], 'val2': [32112, 132412, 1354112, 123412]})
>>> 
>>> df1 = df1[['item', 'val1']]
>>> df2 = df2[['item', 'val2']]
>>> 
>>> df = df1.merge(df2, on='item', how='inner')
>>> df
   item  val1     val2
0     1   213    32112
1     2    31   132412
2     3    12  1354112
3     4  2132   123412
>>>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы