Автор оригинала: Python Examples.
Pandas – Замените значения в столбце на основе условия
Чтобы заменить значения в столбце на основе условия в DataFrame PandaS, вы можете использовать свойство dataframe.loc или numpy.ge () или dataframe.ge ().
В этом руководстве мы пройдем все эти процессы на примере программы.
Метод 1: dataframe.loc – Заменить значения в столбце на основе условия
Чтобы заменить значения в столбце на основе условия, используя dataframe.loc, используйте следующий синтаксис.
DataFrame.loc[condition, column_name] = new_value
В следующей программе мы заменим эти значения в столбце «A», которая удовлетворяет условию, которое значение меньше нуля.
Python Program
import pandas as pd df = pd.DataFrame([ [-10, -9, 8], [6, 2, -4], [-8, 5, 1]], columns=['a', 'b', 'c']) df.loc[(df.a < 0), 'a'] = 0 print(df)
Выход
a b c 0 0 -9 8 1 6 2 -4 2 0 5 1
Вы также можете заменить значения в несколько значений в зависимости от одного состояния. Передайте колонны как кортеж, чтобы открыть.
DataFrame.loc[condition, (column_1, column_2)] = new_value
В следующей программе мы заменим эти значения в столбцах «A» и «B», которые удовлетворяют условию, что значение меньше нуля.
Python Program
import pandas as pd df = pd.DataFrame([ [-10, -9, 8], [6, 2, -4], [-8, 5, 1]], columns=['a', 'b', 'c']) df.loc[(df.a < 0), ('a', 'b')] = 0 print(df)
Выход
a b c 0 0 0 8 1 6 2 -4 2 0 0 1
Метод 2: numpy.gh – заменять значения в столбце на основе условия
Чтобы заменить значения в столбце на основе условия, используя Numpy. Где, используйте следующий синтаксис.
DataFrame['column_name'] = numpy.where(condition, new_value, DataFrame.column_name)
В следующей программе мы будем использовать Numpy.ge () метод и замените эти значения в столбце «A», который удовлетворяет условию, которое значение меньше нуля.
Python Program
import pandas as pd import numpy as np df = pd.DataFrame([ [-10, -9, 8], [6, 2, -4], [-8, 5, 1]], columns=['a', 'b', 'c']) df['a'] = np.where((df.a < 0), 0, df.a) print(df)
Выход
a b c 0 0 -9 8 1 6 2 -4 2 0 5 1
Метод 3: dataframe.gh – замена значений в столбце на основе условия
Чтобы заменить значения в столбце на основе условия, используя Numpy. Где, используйте следующий синтаксис.
DataFrame['column_name'].where(~(condition), other=new_value, inplace=True)
- Column_name это столбец, в которой необходимо заменить значения.
- Состояние Это логическое выражение, которое применяется для каждого значения в столбце.
- new_value Заменяет (с) существующего значения в указанном столбце на основе условия.
В следующей программе мы будем использовать метод dataframe.ge () и замените эти значения в столбце «A», который удовлетворяет условию, которое значение меньше нуля.
Python Program
import pandas as pd df = pd.DataFrame([ [-10, -9, 8], [6, 2, -4], [-8, 5, 1]], columns=['a', 'b', 'c']) df['a'].where(~(df.a < 0), other=0, inplace=True) print(df)
Выход
a b c 0 0 -9 8 1 6 2 -4 2 0 5 1
Резюме
В этом руководстве примеров Python мы узнали, как заменить значения столбца в DataFrame с новым значением, основанным на условиях.
Похожие учебники
- Pandas DataFrame – Заменить несколько значений
- Python Pandas DataFrame – Замените значения NAN с нулем