python-3.x - 如何解决数组不能包含 infs 或 nans
问题描述
fa = FactorAnalyzer(rotation = None,n_factors=5)
fa.fit(dat)
print(pd.DataFrame(fa.get_factor_variance(),index=['Variance','Proportional Var','Cumulative Var']))
我尝试了这段代码并得到了错误,因为数组不能包含空值或 infs。
我检查了空值和 inf,但没有显示空值或 inf。那么我该如何解决呢?
解决方案
我认为您需要通过删除所有nan
和inf
import pandas as pd
def dataset_cleaner(df):
assert isinstance(df, pd.DataFrame), "df needs to be a pd.DataFrame"
df.dropna(inplace=True)
keep_indices = ~df.isin([np.nan, np.inf, -np.inf]).any(1)
return df[keep_indices].astype(np.float64)
推荐阅读
- cobol - 使用 GNUCOBOL,程序不输出任何东西
- sql - Power BI 中的表格编辑器在 Power BI 本身中不同步,反之亦然
- php - 使 PHP 文件中的 $var 设置在初始文件包含/需要的其他 PHP 文件中工作
- linux - 如何防止创建 evdev 输入节点
- python - Pandas df.to.csv 保存在同一个工作目录中,而不是绝对路径
- javascript - index.js 中的 Redux 提供程序
- visual-studio - 如何启用等宽测试资源管理器输出?
- firebase - 如何通过包含颤动的uid的云firestore对用户列表进行排序?
- oauth-2.0 - 您可以在公司代理后面使用带有 Okta 的 JHipster 反应式网关吗?
- amazon-web-services - 调用 GetObjectTagging 操作时,Amazon S3 cp 失败并显示 (AccessDenied)