Вы можете использовать следующий синтаксис для замены значений 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