Как умножить по оси 1 в кадре данных панд? - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть числовой кадр данных, и я хотел бы умножить каждую строку наблюдения поудобно или вдоль axis = 1 и вывести ответ в другом столбце.В качестве примера:

import pandas as pd
import numpy as np
arr = np.array([2, 3, 4])
df = pd.DataFrame(arr).transpose()
df

Result

Мне нужен столбец со значением 24 от умножения столбца 0 на столбец 1 на столбец 2.

Я попробовал df.mul(axis = 1) but that didn't work.

Я уверен, что это легко, но все, что я нахожу, это умножение каждого столбца на константу.

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

попробуйте сделать что-то вроде этого:

import numpy  

def multiplyFunction(row):
   return numpy.prod(row) 


df['result'] = df.apply(multiplyFunction, axis=1)

df.head()

Результат

    0   1   2   result
0   2   3   4   24

Дайте мне знать, если это поможет

1 голос
/ 27 сентября 2019

Это prod

df.prod(1)
Out[69]: 
0    24
dtype: int32
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...