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

Как осуществить замену данных в Data frame?

У меня есть два файла csv. В первом - просто столбец с названиями объектов (старые названия). Во втором - два столбца: 1 столбец - старые названия, 2 столбец - новые названия объектов.

Нужно сделать так, чтобы названия в первом файле изменились на новые (те которые во втором столбце). А если во втором файле данного объекта нет, то он (объект) сохранил своё старое название. Получается нужно сделать что то типа ВПР в excel. Спасибо
  • Вопрос задан
  • 86 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Artgor
Допустим, есть 2 файла:
df1 = pd.DataFrame({'name': ['a', 'b', 'c']})
df2 = pd.DataFrame({'old_name': ['a', 'b'], 'new_name': ['a1', 'b1']})


Вот что можно сделать:
df3 = pd.merge(df1, df2, left_on='name', right_on='old_name',  how='left')
df3.loc[df3['new_name'].isnull(), 'new_name'] = df3.loc[df3['new_name'].isnull(), 'name']


Вначале мы делаем join по старому названию, потом в строках, где нового названия нет, пропущенные значения заменяем на старые. df3['new_name'] - столбец с получившимися значениями.
Ответ написан
Ваш ответ на вопрос

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

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