DataFrame.sub

Get Subtraction of dataframe and other, element-wise (binary operator sub).

danfo.DataFrame.sub(other, option)

ParametersTypeDescriptionDefault

other

DataFrame, Series, Array or Scalar

Object to subtract

option

Object

{

axis: 0 for row, 1 for column.

inplace: Boolean indicating whether to perform the operation inplace or not. Defaults to false

}

{ axis: 1, inplace: false }

Examples

Subtraction of scalar from DataFrame along default axis 1

const dfd = require("danfojs-node")

let data = {
    "Col1": [10, 45, 56, 10],
    "Col2": [23, 20, 10, 24]
}
let df = new dfd.DataFrame(data)

let df_new = df.sub(2)

df_new.print()
╔════════════╤═══════════════════╤═══════════════════╗
║            │ Col1              │ Col2              ║
╟────────────┼───────────────────┼───────────────────╢
║ 0          │ 8                 │ 21                ║
╟────────────┼───────────────────┼───────────────────╢
║ 1          │ 43                │ 18                ║
╟────────────┼───────────────────┼───────────────────╢
║ 2          │ 54                │ 8                 ║
╟────────────┼───────────────────┼───────────────────╢
║ 3          │ 8                 │ 22                ║
╚════════════╧═══════════════════╧═══════════════════╝

Subtraction of Series from DataFrame along axis 0

const dfd = require("danfojs-node")

let data = {
    "Col1": [1, 4, 5, 1],
    "Col2": [3, 2, 0, 4]
}

let df = new dfd.DataFrame(data)
let sf = new dfd.Series([4, 5])

let df_new = df.sub(sf, { axis: 1 })

df_new.print()
╔════════════╤═══════════════════╤═══════════════════╗
║            │ Col1              │ Col2              ║
╟────────────┼───────────────────┼───────────────────╢
║ 0          │ -3                │ -2                ║
╟────────────┼───────────────────┼───────────────────╢
║ 1          │ 0                 │ -3                ║
╟────────────┼───────────────────┼───────────────────╢
║ 2          │ 1                 │ -5                ║
╟────────────┼───────────────────┼───────────────────╢
║ 3          │ -3                │ -1                ║
╚════════════╧═══════════════════╧═══════════════════╝

Subtraction of DataFrame from another DataFrame

const dfd = require("danfojs")

let data = {"Col1": [1, 4, 5, 0], 
            "Col2": [2, 0, 1, 4]}
            
let data2 = {"new_col1": [1, 5, 20, 10],
             "new_Col2": [20, 2, 1, 2]}

let df = new dfd.DataFrame(data)
let df2 = new dfd.DataFrame(data2)

let df_new = df.sub(df2)

df_new.print()
╔════════════╤═══════════════════╤═══════════════════╗
║            │ Col1              │ Col2              ║
╟────────────┼───────────────────┼───────────────────╢
║ 0          │ 0                 │ -18               ║
╟────────────┼───────────────────┼───────────────────╢
║ 1          │ -1                │ -2                ║
╟────────────┼───────────────────┼───────────────────╢
║ 2          │ -15               │ 0                 ║
╟────────────┼───────────────────┼───────────────────╢
║ 3          │ -10               │ 2                 ║
╚════════════╧═══════════════════╧═══════════════════╝

Subtraction of Array from DataFrame along axis 0

const dfd = require("danfojs-node")

let data = {
    "Col1": [10, 45, 56, 10],
    "Col2": [23, 20, 10, 24]
}

let df = new dfd.DataFrame(data)
let val = [2, 2, 2, 2]

let df_new = df.sub(val, { axis: 0 })

df_new.print()
╔════════════╤═══════════════════╤═══════════════════╗
║            │ Col1              │ Col2              ║
╟────────────┼───────────────────┼───────────────────╢
║ 0          │ 8                 │ 21                ║
╟────────────┼───────────────────┼───────────────────╢
║ 1          │ 43                │ 18                ║
╟────────────┼───────────────────┼───────────────────╢
║ 2          │ 54                │ 8                 ║
╟────────────┼───────────────────┼───────────────────╢
║ 3          │ 8                 │ 22                ║
╚════════════╧═══════════════════╧═══════════════════╝

Subtraction works inplace

const dfd = require("danfojs-node")

let data = {
    "Col1": [10, 45, 56, 10],
    "Col2": [23, 20, 10, 24]
}

let df = new dfd.DataFrame(data)
let val = [2, 2, 2, 2]

df.sub(val, { axis: 0, inplace: true })

df.print()
╔════════════╤═══════════════════╤═══════════════════╗
║            │ Col1              │ Col2              ║
╟────────────┼───────────────────┼───────────────────╢
║ 0          │ 8                 │ 21                ║
╟────────────┼───────────────────┼───────────────────╢
║ 1          │ 43                │ 18                ║
╟────────────┼───────────────────┼───────────────────╢
║ 2          │ 54                │ 8                 ║
╟────────────┼───────────────────┼───────────────────╢
║ 3          │ 8                 │ 22                ║
╚════════════╧═══════════════════╧═══════════════════╝

Last updated