вот в чем проблема ... Представьте в качестве примера следующий кадр данных:
df = pd.DataFrame({'col1': [1, 2, 3, 4, 5], 'col2': [3, 4, 5, 6, 7],'col3': [3, 4, 5, 6, 7],'col4': [1, 2, 3, 3, 2]})
Теперь я хотел бы добавить еще один столбец "col 5", который рассчитывается следующим образом:
если значение «col4» равно 1, тогда дайте мне соответствующее значение в столбце с индексом 1 (то есть «col2» в данном случае), если «col4» равно 2, дайте мне соответствующее значение в столбце с индексом 2(т. е. «col3» в данном случае) и т. д.
Я пробовал приведенные ниже варианты и варианты, но не могу получить правильный результат
df["col5"] = df.apply(lambda x: df.iloc[x,df[df.columns[df["col4"]]]])
Любая помощьвысоко ценится!