Pandas: как заменить пустые строки на NaN


Вы можете использовать следующий синтаксис для замены пустых строк значениями NaN в pandas:

df = df.replace ( r'^\s\*$' , np.nan , regex= True )

В следующем примере показано, как использовать этот синтаксис на практике.

Связанный: Как заменить значения NaN на строку в Pandas

Пример: заменить пустые строки на NaN

Предположим, у нас есть следующий кадр данных pandas, который содержит информацию о различных баскетболистах:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', '', 'D', 'E', '', 'G', 'H'],
 'position': ['', 'G', 'G', 'F', 'F', '', 'C', 'C'],
 'points': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

 team position points rebounds
0 A 5 11
1 B G 7 8
2 G 7 10
3 D F 9 6
4 E F 12 6
5 9 5
6 G C 9 9
7 H C 4 12

Обратите внимание, что в столбцах team и position есть несколько пустых строк.

Мы можем использовать следующий синтаксис, чтобы заменить эти пустые строки значениями NaN:

import numpy as np

#replace empty values with NaN
df = df.replace ( r'^\s\*$' , np.nan , regex= True )

#view updated DataFrame
df

 team position points rebounds
0 A NaN  5 11
1 B G  7 8
2 NaN G  7 10
3 D F  9 6
4 E F  12 6
5 NaN NaN  9 5
6 G C  9 9
7 H C  4 127

Обратите внимание, что каждая из пустых строк заменена на NaN.

Примечание.Полную документацию по функции замены в pandas можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как вменить пропущенные значения в Pandas
Как подсчитать пропущенные значения в Pandas
Как заполнить значения NaN средним значением в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.