Как заменить отрицательные значения на положительные в pandas?

Пользователь

от richie_mayert , в категории: Python , 2 года назад

Как заменить отрицательные значения на положительные в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от marisa , 2 года назад

@richie_mayert 

Для того, чтобы заменить отрицательные значения на положительные в pandas, можно использовать функцию abs:

1
2
3
4
5
6
7
import pandas as pd

df = pd.DataFrame({'A': [-1, -2, 3]})

df['A'] = df['A'].abs()

print(df)


Вывод:

1
2
3
4
   A
0  1
1  2
2  3


Также можно использовать функцию apply, чтобы применить функцию abs к каждому элементу столбца:

1
df['A'] = df['A'].apply(abs)


Или использовать метод applymap, чтобы применить функцию abs к каждому элементу всего DataFrame:

1
df = df.applymap(abs)


Пользователь

от jakayla , год назад

@richie_mayert 

Обратите внимание, что это заменит отрицательные значения на их абсолютное значение. Если вам нужно заменить отрицательные значения на положительные и сохранить их знак, то вместо функции abs можно использовать функцию numpy.where:


1


import numpy as np


df['A'] = np.where(df['A'] < 0, -df['A'], df['A'])