Операция по строкам во фрейме данныхPython

Программы на Python
Anonymous
Операция по строкам во фрейме данных

Сообщение Anonymous »

Я работаю над фреймом данных, вот мои данные:
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(lambda row: score(row))



Подробнее здесь: https://stackoverflow.com/questions/786 ... data-frame

Вернуться в «Python»