Pandas: як замінити nan на none


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

 df = df. replace (np. nan , None )

Ця функція особливо корисна, коли вам потрібно експортувати pandas DataFrame до бази даних, яка використовує None для представлення відсутніх значень замість NaN .

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: замініть NaN на None у Pandas

Припустімо, що у нас є наступні pandas DataFrame:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' A ': [5, 6, 8, np.nan, 4, 15, 13],
                   ' B ': [np.nan, 12, np.nan, 10, 23, 6, 4],
                   ' C ': [2, 7, 6, 3, 2, 4, np.nan],
                   ' D ': [5, np.nan, 6, 15, 1, np.nan, 4]})

#view DataFrame
print (df)

      ABCD
0 5.0 NaN 2.0 5.0
1 6.0 12.0 7.0 NaN
2 8.0 NaN 6.0 6.0
3 NaN 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 NaN
6 13.0 4.0 NaN 4.0

Зверніть увагу, що в DataFrame є кілька значень NaN .

Щоб замінити кожне значення NaN на None , ми можемо використати такий синтаксис:

 #replace all NaN values with None
df = df. replace (np. nan , None )

#view updated DataFrame
print (df)

      ABCD
0 5.0 None 2.0 5.0
1 6.0 12.0 7.0 None
2 8.0 None 6.0 6.0
3 None 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 None
6 13.0 4.0 None 4.0

Зверніть увагу, що кожен NaN у кожному стовпці DataFrame було замінено на None .

Зауважте, що якщо ви хочете замінити лише значення NaN на значення None у певному стовпці, ви можете використовувати такий синтаксис:

 #replace NaN values with None in column 'B' only
df[' B '] = df[' B ']. replace (np. nan , None )

#view updated DataFrame
print (df)

      ABCD
0 5.0 None 2.0 5.0
1 6.0 12.0 7.0 NaN
2 8.0 None 6.0 6.0
3 NaN 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 NaN
6 13.0 4.0 NaN 4.0

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

За темою: як замінити значення NaN на нуль у Pandas

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

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

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

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

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