python - 使用 Seaborn 在 Kaggle 上绘图时出错。错误说我有分类数据,即使我的数据是 int64
问题描述
我正在使用来自 Kaggle 的银行营销数据集:https ://www.kaggle.com/janiobachmann/bank-marketing-dataset
我想绘制数字列的 kdeplot,过滤deposit
。每个数字列都可以正常工作,除了pdays
和previous
列。
具体来说,当我用 绘制这两列时'deposit' == 'yes'
,没关系。但是当我用 绘制那些 2 时'deposit' == 'no'
,它说我的数据是分类列,因此无法完成。所有这些都适用于我的 Jupyter Notebook。
请查看此问题的一些屏幕截图: 'deposit'=='yes' 工作正常
解决方案
在第二个屏幕截图中,您实际上是在尝试distplot
. 此函数需要数值数据而不是分类数据。
编辑:
该列中有相当多的条目具有 value -1
。NaN
虽然是数字,但如果我理解正确的话,在整数列中使用 a 实际上是一种技巧。
如果我替换它们并删除它们,我会得到正确的输出:
sns.kdeplot(df[df['deposit']=='no']['pdays'].replace(-1, np.nan).dropna())
请注意,由于通过使用新的“可空整数数据类型”pandas
0.24.0
支持<NA>
整数列中的条目。Int64
推荐阅读
- python - 如何将 json 文件标准化为 pandas 数据框?
- python-3.x - 从 Django 项目目录上的终端执行 Pylint 命令时出错
- python - (M1 Mac)Geodjango GDAL:mach-o,但架构错误
- c - openssl AES CTR 在 C 中发送输出
- javascript - 在节点 8 与节点 10 中创建新日期时的不一致
- python - 如何在已知尺寸的网格上拟合缺失点?
- ios - 如何保护 iOS p12 分发证书?
- json - Outlook 中的自适应卡片无法为某些用户呈现
- python - ARIMA 和 SARIMAX 的参数
- calculation - 大 O - 计算(常数)