Seaborn pairplot ValueError:max必须大于范围参数

时间:2017-11-21 15:22:40

标签: python pandas seaborn

我在使用Python中的seaborn库绘制配对图时遇到此错误。参考前面提到的关于同一主题的问题,我清理了我的数据并验证了我是否有任何空值,

train_data.isnull().values.any()
Out[91]: False

import seaborn as sns
sns.pairplot(train_data)

对于seaborn情节,我仍然得到这个值误差。除了清理数据之外,我不确定,我们还能做些什么来避免这个错误。添加有关数据的更多信息,我总共有81列和大约50万行。我删除了一行具有所有空值而不是剩余数据是空的。现在的问题是如何处理此错误。有什么建议吗?

4 个答案:

答案 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)

在应用此功能之前,请先删除所有字符串列,然后仅在floatint值列进行试验。我希望这有帮助。

答案 2 :(得分:3)

您需要删除oririn DataFrame中的所有NaN值。使用方法 df.dropna()

答案 3 :(得分:0)

面对相同的问题,在我们的数据框中, df.fillna()不会用 NaN 替换值。请使用 df.replace(np.nan,your_value)