DataFrame.sub
Get Subtraction of dataframe and other, element-wise (binary operator sub).
danfo.DataFrame.sub(other, option) [source]
Parameters
Type
Description
Default
other
DataFrame, Series, Array or Scalar
Object to add with
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 }
Returns:
return DataFrame

Examples

Subtraction of scalar to DataFrame along default axis 1

Node
Browser
1
const dfd = require("danfojs-node")
2
3
let data = {
4
"Col1": [10, 45, 56, 10],
5
"Col2": [23, 20, 10, 24]
6
}
7
let df = new dfd.DataFrame(data)
8
9
let df_new = df.sub(2)
10
11
df_new.print()
Copied!
1
Copied!
Output
1
╔════════════╤═══════════════════╤═══════════════════╗
2
║ │ Col1 │ Col2 ║
3
╟────────────┼───────────────────┼───────────────────╢
4
║ 0 │ 8 │ 21 ║
5
╟────────────┼───────────────────┼───────────────────╢
6
║ 1 │ 43 │ 18 ║
7
╟────────────┼───────────────────┼───────────────────╢
8
║ 2 │ 54 │ 8 ║
9
╟────────────┼───────────────────┼───────────────────╢
10
║ 3 │ 8 │ 22 ║
11
╚════════════╧═══════════════════╧═══════════════════╝
Copied!

Subtraction of Series to DataFrame along axis 0

Node
Browser
1
const dfd = require("danfojs-node")
2
3
let data = {
4
"Col1": [1, 4, 5, 1],
5
"Col2": [3, 2, 0, 4]
6
}
7
8
let df = new dfd.DataFrame(data)
9
let sf = new dfd.Series([4, 5])
10
11
let df_new = df.sub(sf, { axis: 1 })
12
13
df_new.print()
Copied!
1
Copied!
Output
1
╔════════════╤═══════════════════╤═══════════════════╗
2
║ │ Col1 │ Col2 ║
3
╟────────────┼───────────────────┼───────────────────╢
4
║ 0 │ -3 │ -2 ║
5
╟────────────┼───────────────────┼───────────────────╢
6
║ 1 │ 0 │ -3 ║
7
╟────────────┼───────────────────┼───────────────────╢
8
║ 2 │ 1 │ -5 ║
9
╟────────────┼───────────────────┼───────────────────╢
10
║ 3 │ -3 │ -1 ║
11
╚════════════╧═══════════════════╧═══════════════════╝
12
Copied!

Subtraction of DataFrame to a DataFrame

Node
Browser
1
const dfd = require("danfojs")
2
3
let data = {"Col1": [1, 4, 5, 0],
4
"Col2": [2, 0, 1, 4]}
5
6
let data2 = {"new_col1": [1, 5, 20, 10],
7
"new_Col2": [20, 2, 1, 2]}
8
9
let df = new dfd.DataFrame(data)
10
let df2 = new dfd.DataFrame(data2)
11
12
let df_new = df.sub(df2)
13
14
df_new.print()
15
Copied!
1
Copied!
Output
1
╔════════════╤═══════════════════╤═══════════════════╗
2
║ │ Col1 │ Col2 ║
3
╟────────────┼───────────────────┼───────────────────╢
4
║ 0 │ 0 │ -18 ║
5
╟────────────┼───────────────────┼───────────────────╢
6
║ 1 │ -1 │ -2 ║
7
╟────────────┼───────────────────┼───────────────────╢
8
║ 2 │ -15 │ 0 ║
9
╟────────────┼───────────────────┼───────────────────╢
10
║ 3 │ -10 │ 2 ║
11
╚════════════╧═══════════════════╧═══════════════════╝
12
Copied!

Subtraction of Array to DataFrame along axis 0

Node
Browser
1
const dfd = require("danfojs-node")
2
3
let data = {
4
"Col1": [10, 45, 56, 10],
5
"Col2": [23, 20, 10, 24]
6
}
7
8
let df = new dfd.DataFrame(data)
9
let val = [2, 2, 2, 2]
10
11
let df_new = df.sub(val, { axis: 0 })
12
13
df_new.print()
Copied!
1
Copied!
Output
1
╔════════════╤═══════════════════╤═══════════════════╗
2
║ │ Col1 │ Col2 ║
3
╟────────────┼───────────────────┼───────────────────╢
4
║ 0 │ 8 │ 21 ║
5
╟────────────┼───────────────────┼───────────────────╢
6
║ 1 │ 43 │ 18 ║
7
╟────────────┼───────────────────┼───────────────────╢
8
║ 2 │ 54 │ 8 ║
9
╟────────────┼───────────────────┼───────────────────╢
10
║ 3 │ 8 │ 22 ║
11
╚════════════╧═══════════════════╧═══════════════════╝
12
13
Copied!

Subtraction works inplace

Node
Browser
1
const dfd = require("danfojs-node")
2
3
let data = {
4
"Col1": [10, 45, 56, 10],
5
"Col2": [23, 20, 10, 24]
6
}
7
8
let df = new dfd.DataFrame(data)
9
let val = [2, 2, 2, 2]
10
11
df.sub(val, { axis: 0, inplace: true })
12
13
df.print()
Copied!
1
Copied!
Output
1
╔════════════╤═══════════════════╤═══════════════════╗
2
║ │ Col1 │ Col2 ║
3
╟────────────┼───────────────────┼───────────────────╢
4
║ 0 │ 8 │ 21 ║
5
╟────────────┼───────────────────┼───────────────────╢
6
║ 1 │ 43 │ 18 ║
7
╟────────────┼───────────────────┼───────────────────╢
8
║ 2 │ 54 │ 8 ║
9
╟────────────┼───────────────────┼───────────────────╢
10
║ 3 │ 8 │ 22 ║
11
╚════════════╧═══════════════════╧═══════════════════╝
12
13
Copied!
Last modified 17d ago