У меня есть эта формула Excel, которую нужно применить к кадру данных pandas
=IF(OFFSET(list!$B$1,MATCH($X1,list!$A:$A,0)-1,0)=0,"",OFFSET(list!$B$1,MATCH($X1,list!$A:$A,0)-1,0))
кадр данных: список
A B C
24309 Pepsi US
45768 McDonalds US
45638 Apple Ireland
59374 Google Ireland
фрейм данных 2: new_list
X Y
24309 ?
45768 ?
45638
59374
Цель состоит в том, чтобы заполнить столбец Y
второго фрейма данных new_list
, если значение в X
соответствует значению в диапазоне A1:A4
Я борюсь с лучшим подходом для этого.Может ли кто-нибудь указать мне правильное направление?Я думал об использовании panda groupby
с np.where
для сравнения и получения значения столбца B
при совпадении.
Edit
new_list['Y'] = np.where(list['A'] == new_list['X'], list['B'], np.nan)
Решение, приведенное выше, дает те же результаты, но является ли это правильным способом определения такой Excel формулы в Pandas?