Я работаю над фреймом данных, вот мои данные:
df=pd.DataFrame({'A':[5,3,2],'B':[2,1,1],
'a':[2,3,1],'b':[1,3,8]})
Ожидаемый результат:
pd.DataFrame({'A':[5,3,2],'B':[2,1,1],
'a':[2,3,1],'b':[1,3,8],
'A*a':[10,9,2],'B*b':[2,3,8],
'Max':[10,9,8]})
Моя цель — умножить столбцы по отдельности, например, A*a, B*b. Последняя интересующая меня переменная — «Max», которая возвращает максимальное значение Aa и Bb.
Обратите внимание, что у меня более двух пар, реальные данные содержат десятки столбцов, поэтому мне нужно сделать это в масштабе. В идеале я хочу структурировать функцию и взять карту ({A:a,B:b,C:c...}) в качестве входных данных, запустить эту функцию для каждой строки фрейма данных и вернуть значение Max.
Я пробовал, но не получилось:
dic={'A':'a','B':'b'}
def score(row):
max_score=0
for i,j in dic.items():
if row*row[j]>max_score:
max_score=row*row[j]
return max_score
df.apply(score)
Подробнее здесь: https://stackoverflow.com/questions/786 ... data-frame