Суммируйте только отрицательные числа по столбцам в пандах данных - PullRequest
0 голосов
/ 27 февраля 2019

Я хотел бы суммировать только отрицательные числа во всех столбцах в кадре данных.

Я видел этот пост: Панды: суммировать несколько столбцов в один столбец

Мои данные выглядят так:

Но я бы хотел сложить только отрицательные числа.Как мне это сделать?

Ответы [ 4 ]

0 голосов
/ 27 февраля 2019

Я бы посоветовал вам избежать apply;это может быть медленно.

Это будет работать: df[df < 0].sum()

0 голосов
/ 27 февраля 2019

Использование apply:

df['Sum']=df.apply(lambda x: x[x<0].sum(),axis=1)
0 голосов
/ 27 февраля 2019

Другой способ - использовать abs:

df['neg_sum'] = df.where(df != df.abs()).sum(1)
0 голосов
/ 27 февраля 2019

Использование mask

df.iloc[:,1:].where(df.iloc[:,1:]<0).sum(axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...