#python #seaborn
#python #seaborn
Вопрос:
Я получил свои данные о жилье из kaggle. Я пытаюсь создать парную диаграмму, используя seaborn. Однако я не уверен, почему GrLivArea
вывод графика пустой.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('train.csv')
sns.pairplot(df, x_vars=['GrLivArea', 'LotArea', 'TotalBsmtSF', 'GarageArea'], y_vars=['SalePrice'], height=8, aspect = 1, kind='reg')
plt.show()
Можете посоветовать?
Комментарии:
1. Вы проверяли nan в своем наборе данных?
Ответ №1:
Это потому, что ваша ось x для первого графика начинается с 0.0 и продолжается до 1.0. Если вы выполните следующие действия:
sns.pairplot(df, x_vars=['LotArea', 'TotalBsmtSF', 'GarageArea','GrLivArea'], y_vars=['SalePrice'], height=8, aspect = 1, kind='reg')
тогда график будет пустым для LotArea.
Сначала я предположил, что это связано с пустыми значениями (NAN) в вашем наборе данных. Но я проверил это, и, похоже, это не так.
Следующее решение должно решить вашу проблему:
fig, axs = plt.subplots(ncols=4)
sns.regplot(x='GrLivArea', y='SalePrice', data=df, ax=axs[0])
sns.regplot(x='LotArea', y='SalePrice', data=df, ax=axs[1])
sns.regplot(x='TotalBsmtSF',y='SalePrice', data=df, ax=axs[2])
sns.regplot(x='GarageArea', y='SalePrice', data=df, ax=axs[3])
plt.show()
Хотя это не парная диаграмма, вы можете отображать каждую регулярную диаграмму как вспомогательную диаграмму.
Ответ №2:
Я сталкиваюсь с той же проблемой при использовании sns.pairplot
.
Тогда я нахожу решение Github
здесь.
Добавив параметр diag_kind=None
в sns.pairplot
то, что первый график может быть успешно построен.
Комментарии:
1. Я предпочитаю помещать такой ответ в качестве комментария.
2. @MasoudRahimi Извините, потому что я здесь новичок. У меня недостаточно репутации для этого. Но спасибо!
3. Не извиняйтесь; вам здесь рады.