Python Seaborn pairplot ValueError:范围参数中的最大值必须大于最小值

Python Seaborn pairplot ValueError:范围参数中的最大值必须大于最小值,python,pandas,seaborn,Python,Pandas,Seaborn,我在Python中使用seaborn库绘制pairplot时遇到此错误。参考前面关于同一主题的问题,我清理了我的数据并验证了我是否有空值 train_data.isnull().values.any() Out[91]: False import seaborn as sns sns.pairplot(train_data) 对于seaborn绘图,我仍然得到这个值错误。我不确定除了清理数据之外,我们还能做些什么来避免这个错误。添加关于数据的更多信息,我总共有81列和大约50万行。我删除了一

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

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

import seaborn as sns
sns.pairplot(train_data)

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

我收到了同样的错误。我建议你做几件事。首先,检查是否有
string
数据类型,并将其转换为
float
或不为
pairplot
添加数据,将数据集切片,然后在其中工作。我的意思是,
降维
。81列可能不是实验的最佳选择。正如您提到的,您有50万行和81列。首先尝试较小的数据集,然后选择较大的数据集。Seaborn plot有时无法在本地系统上容纳如此多的行和列。如果您在某个具有较大RAM的集群上进行尝试,它可能工作正常,但此错误并非新错误。试着做

exp = test_data[0:10][:1000]
sns.pairplot(exp)

在应用此方法之前,首先删除所有字符串列,并仅对
float
int
值列进行实验。我希望这有帮助

您的数据帧可能有NaN值。删除这些行或将NaN替换为0,它应该可以工作。

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

面临同样的问题,df.fillna()在我们的数据框架中不会将值替换为NaN。请使用df.replace(np.nan,您的_值)

@rickert我看到了相同的错误,建议的解决方案是清除数据并获得空值。我做了清理并从null中释放出来,仍然得到这个错误。@yan你们可能已经耗尽了内存并得到了这个错误。切片数据集并检查它是否工作,谢谢!我删除了所有的字符串,它的工作。我只是想知道为什么一些浮点值在清理时被转换为对象类型(字符串)。发生这种情况是因为您可能指定了字符串的默认值而不是int。@stephernauch,您可以将NaN替换为0,比如train_data=train_data.fillna(0). 要删除NaN,可以执行train_data.dropna(inplace=True)