我有一些文件包含=-inf
个单元格。我一直在尝试通过以下方式将其删除:
.replace(np.inf, 0).replace(np.nan,0)
无论它停留在那里,我还用以下方法检查数据帧是否具有任何无穷大数:
df.isnull().values.any()
np.all(np.isfinite(df))
但是它们都找不到= -inf或NA。
如何用Python替换此类问题?
编辑: 在此处下载实际的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)
答案 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)