Rett-oo
@Rett-oo

Как заменить только отличные значения с помощью pandas?

Подскажите пожалуйста, как возможно заменить значения dataframe_1 которые отличаются от значений от dataframe_2?

import pandas as pd


dataframe_1 = pd.DataFrame({'col1': [10, 12, 12, 14, 13, 18],
                            'col2': [7, 7, 8, 13, 7, 4],
                            'col3': [11, 8, 10, 6, 6, 5]})

dataframe_2= pd.DataFrame({'col1': [11, 12, 12, 14, 13, 10],
                            'col2': [76, 7, 8, 13, 7, 4],
                            'col3': [11, 8, 8, 6, 6, 5]})

dataframe.compare(dataframe_db, keep_shape=True)

Как при помощи pandas и векторизации заменить значения которые отличаются?
Ранее у меня был скрипт, который проходился циклом по значениям dataframe_1 и dataframe_2 и сравнивал, если значения отличались - заменял. Но думаю это не эффективно и
хочется оптимизировать функцию.
  • Вопрос задан
  • 147 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
В общем ждать ответа, на мой комментарий времени нет, если замена всегда одинаковая то вот так.
import pandas as pd
import numpy as np
pd.DataFrame(np.where(dataframe_1 != dataframe_2, 'Ваше значение',dataframe_1), columns = dataframe_1.columns)


если значения которые отличаются нужно выбрать из второго датафрейма то вот так.
import pandas as pd
import numpy as np
pd.DataFrame(np.where(dataframe_1 != dataframe_2, dataframe_2,dataframe_1), columns = dataframe_1.columns)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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