Как вычесть два столбца в pandas dataframe
Вы можете использовать следующий синтаксис, чтобы вычесть один столбец из другого в DataFrame pandas:
#subtract column 'B' from column 'A' df[' AB '] = df. A - df. B
Следующие примеры показывают, как использовать этот синтаксис на практике.
Пример 1: вычесть два столбца в Pandas
Следующий код показывает, как вычесть один столбец из другого в DataFrame pandas и присвоить результат новому столбцу:
import pandas as pd #createDataFrame df = pd. DataFrame ({' A ': [25, 12, 15, 14, 19, 23, 25, 29], ' B ': [5, 7, 8, 9, 12, 9, 12, 4], ' C ': [11, 8, 10, 6, 6, 5, 9, 12]}) #subtract column B from column A df[' AB '] = df. A - df. B #view DataFrame df A B C AB 0 25 5 11 20 1 12 7 8 5 2 15 8 10 7 3 14 9 6 5 4 19 12 6 7 5 23 9 5 14 6 25 12 9 13 7 29 4 12 25
Новый столбец под названием « AB » отображает результаты вычитания значений в столбце B из значений в столбце A.
Пример 2. Вычесть два столбца с пропущенными значениями
Если мы вычитаем один столбец из другого в DataFrame pandas и в одном из столбцов есть пропущенные значения, результатом вычитания всегда будет пропущенное значение:
import pandas as pd import numpy as np #create DataFrame with some missing values df = pd. DataFrame ({' A ': [25, 12, 15, 14, 19, 23, 25, 29], ' B ': [5, 7, np. no , 9, 12, np. no , 12, 4], ' C ': [np. no , 8, 10, 6, 6, 5, 9, 12]}) #subtract column B from column A df[' AB '] = df. A - df. B #view DataFrame df A B C AB 0 25 5.0 NaN 20.0 1 12 7.0 8.0 5.0 2 15 NaN 10.0 NaN 3 14 9.0 6.0 5.0 4 19 12.0 6.0 7.0 5 23 NaN 5.0 NaN 6 25 12.0 9.0 13.0 7 29 4.0 12.0 25.0
Если хотите, вы можете заменить все пропущенные значения в dataFrame нулями с помощью функции df.fillna(0) перед вычитанием одного столбца из другого:
import pandas as pd import numpy as np #create DataFrame with some missing values df = pd. DataFrame ({' A ': [25, 12, 15, 14, 19, 23, 25, 29], ' B ': [5, 7, np. no , 9, 12, np. no , 12, 4], ' C ': [np. no , 8, 10, 6, 6, 5, 9, 12]}) #replace all missing values with zeros df = df. fillna ( 0 ) #subtract column B from column A df[' AB '] = df. A - df. B #view DataFrame df A B C AB 0 25 5.0 0.0 20.0 1 12 7.0 8.0 5.0 2 15 0.0 10.0 15.0 3 14 9.0 6.0 5.0 4 19 12.0 6.0 7.0 5 23 0.0 5.0 23.0 6 25 12.0 9.0 13.0 7 29 4.0 12.0 25.0
Дополнительные ресурсы
Как добавить строки в DataFrame Pandas
Как добавить массив Numpy в DataFrame Pandas
Как подсчитать количество строк в Pandas DataFrame