【问题标题】:MCA() returns "array must not contain infs or nans"MCA() 返回“数组不得包含 infs 或 nans”
【发布时间】:2021-03-17 05:02:41
【问题描述】:
我有一个由 1 和 0 组成的数据框,它们充当元数据来描述主数据集的某些特征的属性。作为数据探索的一部分,我在数据帧上运行以下代码,以将这些特征标签表达为 2D 图。
mca = prince.MCA()
mca_mtx = mca.fit(tags_df).transform(tags_df)
但我在fit 期间收到以下错误:
数组不能包含 infs 或 nans
检查数据框后,我发现整个数据集中没有 infs 或 nans。所以问题一定是别的。
有人知道如何解决这个问题吗?
【问题讨论】:
标签:
python
pandas
pca
mca
【解决方案1】:
显然是known bug。问题在于数据帧 tags_df 的值,因为 1.0 和 0.0 在 mca 算法期间产生 inf 或 nan。
我尝试将1.0 和0.0 更改为True 和False(布尔类型)但没有成功。但是,字符串版本起到了作用,即"True" 和"False"。所以下面一行解决了我的问题:
tags_df.replace({0: "False", 1: "True"}, inplace = True)