以下是数据集:https://www.kaggle.com/emilianito/saheart
以下是一个问题:比较托巴科消费在冠心病患者和非冠心病患者中的分布情况。你能解释服用托巴科对冠心病的影响吗?
以下是我尝试过的:
sn.distplot(sa_heart_df[sa_heart_df['chd'] == 'No'],
['tobbaco'],
color = 'y',
label = 'No')
sn.distplot(sa_heart_df[sa_heart_df['chd'] == 'Si'],
['tobbaco'],
color = 'r',
label = 'Si')
plt.legend();
错误是:
usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureWarning:
distplot
是一个不推荐的函数,将在将来的版本中删除。请
使您的代码使用displot
(具有类似灵活性的图形级函数)或histplot
(用于直方图的轴级函数)。warnings.warn(msg,FutureWarning)
ValueError Traceback (most recent call last)
<ipython-input-28-44d824301cf1> in <module>()
2 ['tobbaco'],
3 color = 'y',
发布于 2022-01-31 03:59:15
首先,请注意,FutureWarning: distplot is a deprecated
只是一个警告,与错误完全无关。
有几个问题:
distplot
的第二个参数称为bins
;将其设置为['tobbaco']
没有意义;无论如何,对于具有许多可能参数的函数,建议显式设置参数名称。'tobbaco'
似乎不是给定数据集中的列;它可能是'tobacco'
'tobacco'
列,可以使用以下语法sns.distplot(sa_heart_df[sa_heart_df['chd'] == 'No']['tobacco'], ...)
一些小问题:
distplot
已被废弃;它不支持在新的海运函数中可用的参数,例如hue
;强烈建议使用histplot
(对于带有可选kde曲线的直方图)、使用kdeplot
(对于没有直方图的kde曲线)或使用displot
(对于具有多个子图的图形级函数)。seaborn
是作为sns
导入的标准;遵循这一约定可以使您的代码更容易为其他人阅读,并使您更容易在文档和相关的堆栈溢出帖子中找到自己的方法。下面是如何将kdeplot
与hue
结合使用的代码
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sa_heart_df = pd.read_csv('SAheart.csv')
sns.set_style('whitegrid')
sns.kdeplot(data=sa_heart_df, x='tobacco', hue='chd', fill=True)
sns.despine()
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sa_heart_df = pd.read_csv('SAheart.csv')
sns.displot(data=sa_heart_df, x='tobacco', col='chd', kde=True)
plt.show()
https://stackoverflow.com/questions/70912430
复制相似问题