Як замінити значення nan на нуль в pandas


Ви можете використовувати такі методи, щоб замінити значення NaN нулями в pandas DataFrame:

Спосіб 1: замініть значення NaN на нуль у стовпці

 df[' col1 '] = df[' col1 ']. fillna (0)

Спосіб 2: замініть значення NaN на нуль у кількох стовпцях

 df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. fillna (0)

Спосіб 3: Замініть значення NaN на нуль у всіх стовпцях

 df = df. fillna (0)

У наступних прикладах показано, як використовувати кожен із цих методів із наступними pandas DataFrame:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' points ': [25, np.nan, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, np.nan, 7, np.nan, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, np.nan, 9, np.nan]})

#view DataFrame
print (df)

   points assists rebounds
0 25.0 5.0 11.0
1 NaN NaN 8.0
2 15.0 7.0 10.0
3 14.0 NaN 6.0
4 19.0 12.0 6.0
5 23.0 9.0 NaN
6 25.0 9.0 9.0
7 29.0 4.0 NaN

Спосіб 1: замініть значення NaN на нуль у стовпці

У наступному коді показано, як замінити значення NaN на нуль лише в стовпці «helps»:

 #replace NaN values with zero in 'assists' column
df[' assists '] = df[' assists ']. fillna (0)

#view updated DataFrame
print (df)

   points assists rebounds
0 25.0 5.0 11.0
1 NaN 0.0 8.0
2 15.0 7.0 10.0
3 14.0 0.0 6.0
4 19.0 12.0 6.0
5 23.0 9.0 NaN
6 25.0 9.0 9.0
7 29.0 4.0 NaN

Зверніть увагу, що значення NaN у стовпці “допомоги” були замінені нулями, але значення NaN у кожному іншому стовпці все ще залишаються.

Спосіб 2: замініть значення NaN на нуль у кількох стовпцях

Наступний код показує, як замінити значення NaN на нуль у стовпцях «points» і «assists»:

 #replace NaN values with zero in 'points' and 'assists' column
df[[' points ', ' assists ']] = df[[' points ', ' assists ']]. fillna (0)

#view updated DataFrame
print (df)

   points assists rebounds
0 25.0 5.0 11.0
1 0.0 0.0 8.0
2 15.0 7.0 10.0
3 14.0 0.0 6.0
4 19.0 12.0 6.0
5 23.0 9.0 NaN
6 25.0 9.0 9.0
7 29.0 4.0 NaN

Спосіб 3: Замініть значення NaN на нуль у всіх стовпцях

Наступний код показує, як замінити значення NaN на нуль у кожному стовпці DataFrame:

 #replace NaN values with zero in all columns
df = df. fillna (0)

#view updated DataFrame
print (df)

   points assists rebounds
0 25.0 5.0 11.0
1 0.0 0.0 8.0
2 15.0 7.0 10.0
3 14.0 0.0 6.0
4 19.0 12.0 6.0
5 23.0 9.0 0.0
6 25.0 9.0 9.0
7 29.0 4.0 0.0

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Як замінити певні значення в Pandas
Як відфільтрувати Pandas DataFrame за значеннями стовпців
Як заповнити значення NA для кількох стовпців у Pandas

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *