Я хотел бы суммировать только отрицательные числа во всех столбцах в кадре данных.
Я видел этот пост: Панды: суммировать несколько столбцов в один столбец
Мои данные выглядят так:
Но я бы хотел сложить только отрицательные числа.Как мне это сделать?
Я бы посоветовал вам избежать apply;это может быть медленно.
apply
Это будет работать: df[df < 0].sum()
df[df < 0].sum()
Использование apply:
df['Sum']=df.apply(lambda x: x[x<0].sum(),axis=1)
Другой способ - использовать abs:
abs
df['neg_sum'] = df.where(df != df.abs()).sum(1)
Использование mask
mask
df.iloc[:,1:].where(df.iloc[:,1:]<0).sum(axis=1)