如何使用Python从数据框中删除'= -inf'?

时间:2019-03-16 16:28:15

标签: python pandas

我有一些文件包含=-inf个单元格。我一直在尝试通过以下方式将其删除:

.replace(np.inf, 0).replace(np.nan,0)

无论它停留在那里,我还用以下方法检查数据帧是否具有任何无穷大数:

df.isnull().values.any() np.all(np.isfinite(df))

但是它们都找不到= -inf或NA。

如何用Python替换此类问题?

enter image description here

enter image description here

编辑: 在此处下载实际的csv文件: https://drive.google.com/file/d/1ol_DfiUbkybLx-ksne3rszyODTARzMJM/view?usp=sharing

df = pd.read_csv('test.csv')
labels = np.array(df['class'])

features= df.drop('class', axis = 1)
feature_list = list(features.columns)
features = np.array(df)

clf= RandomForestClassifier(n_estimators=100, random_state=20)
scores = cross_val_score(clf, features, labels, cv=10)

2 个答案:

答案 0 :(得分:1)

np.NINF是负无穷大。只需将其替换为0。

df = df.replace(np.NINF, 0)

答案 1 :(得分:1)

问题是负无穷大,所以需要替换它:

df = df.replace(-np.inf, 0)

更一般的解决方案是:

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