Привет, ребята, я новичок в python, сейчас я начинаю работать с некоторыми библиотеками, такими как Pandas и Numpy.Недавно мой учитель дал мне это упражнение, и я не знаю, какой метод мне следует использовать.Подробности показаны ниже:
df1 = pd.DataFrame({'col1': [0, 1, 1, 0, 3],
'col2': [23, 4, 1, 1, 3],
'col3': [0, 5, 2, 1, 1],
'col4': [1, 2, 6, 4, 0],
'col5': [4, 15, 0, 2, 5],
'loc': [1, 4, 2, 3, 2]})
1) col1 - col5: случайное число
2) loc: местоположение значения.
3) Вычислить «val», который возвращает значение каждого столбца, местоположения указаны в «loc».
Пример: в строке 0, loc = 1, val = 23. В строке1 loc = 4, val = 15 и т. Д.
Результат должен быть таким:
df = pd.DataFrame({'col1': [0, 1, 1, 0, 3],
'col2': [23, 4, 1, 1, 3],
'col3': [0, 5, 2, 1, 1],
'col4': [1, 2, 6, 4, 0],
'col5': [4, 15, 0, 2, 5],
'loc': [1, 4, 2, 3, 2],
'val': [23, 15, 2, 4, 1]})
Я пробовал что-то вроде iloc и loc для вычисления 'val'.Однако, когда размер данных увеличивается, я больше не мог использовать этот метод.Есть ли какой-нибудь более быстрый способ вычислить «val»Нужно ли использовать цикл для вычисления 'val'?
df1 = df['loc']
df.iloc[0,df1[0]]
df.iloc[1,df1[1]]
df.iloc[2,df1[2]]
PS: Извините за мой плохой английский, но я действительно не знаю, как объяснить это упражнение на английском, я просто стараюсь изо всех сил:(