Сравните 2 кадра данных с проверкой идентификатора. Значение столбца находится в другом столбце данных. Если значение есть, измените соответствующий столбец

1

У меня есть ситуация, у меня есть 2 Dataframes в python

df1 = {
    'A':['1','2','3'],
    'B':['c','d','e']
    },

df2 = {
    'X':['2','1'],
    'Y':['n','m']   
}

Теперь, если столбец соответствует любому значению в столбце X, я хочу, чтобы в B было соответствующее значение Y в этом случае:

df1 = {
    'A':['1','2','3'],
    'B':['m','n','e']
    }

Пожалуйста, предложите

Теги:
pandas
dataframe
jupyter-notebook
python-3.6

1 ответ

0

Используйте map по серии, created set_index и замените отсутствующие значения fillna:

df1['B'] = df1['A'].map(df2.set_index('X')['Y']).fillna(df1['B'])
print (df1)
   A  B
0  1  m
1  2  n
2  3  e

Ещё вопросы

Сообщество Overcoder
Наверх
Меню