我在使用Python中的seaborn库绘制配对图时遇到此错误。参考前面提到的关于同一主题的问题,我清理了我的数据并验证了我是否有任何空值,
train_data.isnull().values.any()
Out[91]: False
import seaborn as sns
sns.pairplot(train_data)
对于seaborn情节,我仍然得到这个值误差。除了清理数据之外,我不确定,我们还能做些什么来避免这个错误。添加有关数据的更多信息,我总共有81列和大约50万行。我删除了一行具有所有空值而不是剩余数据是空的。现在的问题是如何处理此错误。有什么建议吗?
答案 0 :(得分:8)
您的数据框可能包含NaN值。删除这些行或用0替换NaN,它应该可以工作。
答案 1 :(得分:5)
我收到了同样的错误。我建议你做几件事。首先,检查您是否拥有string
数据类型,并将其转换为float
或不添加pairplot
,切片数据集然后进行处理。我的意思是,dimensional reduction
。 81列可能不是实验的最佳选择。正如你所提到的,你有50万行和81列。首先尝试较小的数据集,然后再选择较大的数据集。 Seaborn图有时无法在本地系统上容纳如此多的行和列。如果您尝试使用具有更大RAM的某个群集,它可能会正常工作,但此错误并非新的。尝试
exp = test_data[0:10][:1000]
sns.pairplot(exp)
在应用此功能之前,请先删除所有字符串列,然后仅在float
,int
值列进行试验。我希望这有帮助。
答案 2 :(得分:3)
您需要删除oririn DataFrame中的所有NaN值。使用方法 df.dropna()
答案 3 :(得分:0)
面对相同的问题,在我们的数据框中, df.fillna()不会用 NaN 替换值。请使用 df.replace(np.nan,your_value)。