DataFrame.fillna
Fill NaN/undefined values using the specified method. Detect missing values for an array-like object.
danfo.DataFrame.fillna(values, options) [source]
Parameters
Type
Description
Default
values
Array | Scalar
The list of value(s) to use for replacement.
options
Object
{columns:Array of column name(s) to fill. If undefined fill all columns
inplace: Boolean indicating whether to perform the operation inplace or not. Defaults to false
}
{inplace: false}
Returns:
return DataFrame

Examples

Fill missing values in specified columns with specified values

Missing values are NaN, undefined or null values
Node
Browser
1
const dfd = require("danfojs-node")
2
3
let data = {
4
"Name": ["Apples", "Mango", "Banana", undefined],
5
"Count": [NaN, 5, NaN, 10],
6
"Price": [200, 300, 40, 250]
7
}
8
9
let df = new dfd.DataFrame(data)
10
df.print()
11
12
let values = ["Apples", df["Count"].mean()]
13
let df_filled = df.fillna(values, { columns: ["Name", "Count"] })
14
df_filled.print()
15
Copied!
1
Copied!
Output
1
//Before filling
2
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗
3
║ │ Name │ Count │ Price ║
4
╟───┼───────────────────┼───────────────────┼───────────────────╢
5
║ 0 │ Apples │ NaN │ 200 ║
6
╟───┼───────────────────┼───────────────────┼───────────────────╢
7
║ 1 │ Mango │ 5 │ 300 ║
8
╟───┼───────────────────┼───────────────────┼───────────────────╢
9
║ 2 │ Banana │ NaN │ 40 ║
10
╟───┼───────────────────┼───────────────────┼───────────────────╢
11
║ 3 │ NaN │ 10 │ 250 ║
12
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝
13
14
15
//After filling
16
17
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗
18
║ │ Name │ Count │ Price ║
19
╟───┼───────────────────┼───────────────────┼───────────────────╢
20
║ 0 │ Apples │ 7.5 │ 200 ║
21
╟───┼───────────────────┼───────────────────┼───────────────────╢
22
║ 1 │ Mango │ 5 │ 300 ║
23
╟───┼───────────────────┼───────────────────┼───────────────────╢
24
║ 2 │ Banana │ 7.5 │ 40 ║
25
╟───┼───────────────────┼───────────────────┼───────────────────╢
26
║ 3 │ Apples │ 10 │ 250 ║
27
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝═╝
Copied!

Fill all columns with NaNs with a specified value

Node
Browser
1
const dfd = require("danfojs-node")
2
3
let data = {
4
"Name": ["Apples", "Mango", "Banana", undefined],
5
"Count": [NaN, 5, NaN, 10],
6
"Price": [200, 300, 40, 250]
7
}
8
9
let df = new dfd.DataFrame(data)
10
let df_filled = df.fillna("Apples")
11
12
df_filled.print()
13
Copied!
1
Copied!
Output
1
2
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗
3
║ │ Name │ Count │ Price ║
4
╟───┼───────────────────┼───────────────────┼───────────────────╢
5
║ 0 │ Apples │ Apples │ 200 ║
6
╟───┼───────────────────┼───────────────────┼───────────────────╢
7
║ 1 │ Mango │ 5 │ 300 ║
8
╟───┼───────────────────┼───────────────────┼───────────────────╢
9
║ 2 │ Banana │ Apples │ 40 ║
10
╟───┼───────────────────┼───────────────────┼───────────────────╢
11
║ 3 │ Apples │ 10 │ 250 ║
12
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝
Copied!

Fill NaNs inplace

Node
Browser
1
const dfd = require("danfojs-node")
2
let data = {
3
"Name": ["Apples", "Mango", "Banana", undefined],
4
"Count": [NaN, 5, NaN, 10],
5
"Price": [200, 300, 40, 250]
6
}
7
8
let df = new dfd.DataFrame(data)
9
let values = ["Apples", df["Count"].mean()]
10
df.fillna(values, {
11
columns: ["Name", "Count"],
12
inplace: true
13
})
14
df.print()
Copied!
1
Copied!
Output
1
2
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗
3
║ │ Name │ Count │ Price ║
4
╟───┼───────────────────┼───────────────────┼───────────────────╢
5
║ 0 │ Apples │ Apples │ 200 ║
6
╟───┼───────────────────┼───────────────────┼───────────────────╢
7
║ 1 │ Mango │ 5 │ 300 ║
8
╟───┼───────────────────┼───────────────────┼───────────────────╢
9
║ 2 │ Banana │ Apples │ 40 ║
10
╟───┼───────────────────┼───────────────────┼───────────────────╢
11
║ 3 │ Apples │ 10 │ 250 ║
12
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝
Copied!
Last modified 17d ago