Pandas: как заменить инфу на ноль


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

df.replace([np.inf , -np.inf ], 0 , inplace= True )

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

Пример: заменить inf на Zero в Pandas

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

import pandas as pd
import numpy as np

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
 'points': [18, np.inf , 19, np.inf , 14, 11, 20, 28],
 'assists': [5, 7, 7, 9, 12, 9, 9, np.inf ],
 'rebounds': [np.inf , 8, 10, 6, 6, -np.inf , 9, 12]})

#view DataFrame
df

 team points assists rebounds
0 A 18.0 5.0 inf
1 B inf 7.0 8.0
2 C 19.0 7.0 10.0
3 D inf 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 -inf
6 G 20.0 9.0 9.0
7 H 28.0 inf 12.0

Обратите внимание, что в DataFrame есть несколько значений inf и -inf.

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

#replace inf and -inf with zero
df.replace([np.inf , -np.inf ], 0 , inplace= True )

#view updated DataFrame
df

 team points assists  rebounds
0 A 18.0 5.0  0.0
1 B 0.0 7.0  8.0
2 C 19.0 7.0  10.0
3 D 0.0 9.0  6.0
4 E 14.0 12.0  6.0
5 F 11.0 9.0  0.0
6 G 20.0 9.0  9.0
7 H 28.0 0.0  12.0

Обратите внимание, что каждое из значений inf и -inf заменено нулем.

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

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

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

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

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