Умножить каждый элемент в одну строку и добавить новый столбец в том же dataFrame? - PullRequest
2 голосов
/ 21 мая 2019

Хотите умножить каждый элемент строки и затем добавить новый столбец результатов для каждой строки в dataFrame.

Я могу извлечь каждую строку из dataFrame.

df_temp.values[0,:]
array([18, 10,  5, 11, -2], dtype=int64)

Но я не могу продолжить после этого.Пробовал использовать mul() as-

df.temp
        a   b   c   d  e
    p  18  10   5  11 -2
    r  -4   6 -19   2  1
    s   3 -14   1  -2  8
print(df_temp.mul(df_temp.values[0,:], axis=1))

Но это дает результат:

     a    b   c    d   e
p  324  100  25  121   4
r  -72   60 -95   22  -2
s   54 -140   5  -22 -16

Ожидаемый результат:

   a   b   c  d   e  result
p 18  10   5  11 -2  -19800
r -4   6 -19   2  1     912
s  3 -14   1  -2  8     672

Любые указатели будут полезны.

1 Ответ

2 голосов
/ 21 мая 2019

Использование df.assign() с df.prod() на axis=1:

df=df.assign(result=df.prod(axis=1))
print(df)

    a   b   c   d  e  result
p  18  10   5  11 -2  -19800
r  -4   6 -19   2  1     912
s   3 -14   1  -2  8     672
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...