У меня есть следующий pandas dataframe:
data = {'ID': [1, 2, 3], 'Neighbor': [3, 1, 2], 'x': [5, 6, 7]}
Теперь я хочу создать новый столбец 'y', который для каждой строки является значением поля x из этой строки, на которую ссылается соседстолбец (т. е. тот столбец, идентификатор которого равен значению Neighbor), например: для строки 0 (ID 1) «Neighbor» равен 3, поэтому «y» должно быть 7. Таким образом, результирующий кадр данных должен иметь столбец y = [7, 5, 6]. Могу ли я решить эту проблему без использования df.apply? (Поскольку это занимает довольно много времени для моих больших фреймов данных.) Я хотел бы использовать sth вроде
df.loc[:, 'y'] = df.loc[df.Neighbor.eq(df.ID), 'x']}
, но это возвращает NaN.