【问题标题】:Plots do not appear when calling seaborn's pairplot on a pandas Dataframe在 pandas Dataframe 上调用 seaborn 的 pairplot 时不显示图
【发布时间】:2019-06-05 13:04:58
【问题描述】:

我有一个看起来像这样的数据框

Price   Mileage Age
4250    71000   8
6500    43100   6
26950   10000   3
1295    78000   17
5999    61600   8 

这是分配给dataset。我只需调用sns.pairplot(dataset),我只剩下一个图表——我的数据集中的价格分布。我期望一个 3x3 网格的地块。

当我从 seaborn 导入预先配置的数据集时,我得到了预期的多图对图。

我是seaborn的新手,如果这是一个愚蠢的问题,我深表歉意,但我做错了什么?这似乎是一项简单的任务。

【问题讨论】:

  • 什么是df.dtypes
  • 啊哈! It's - Price int64 Mileage object Age object dtype: object
  • 我猜这些对象需要是整数!谢谢
  • 可能不是 int,因为您的数据框中可能有无效值。您可以将它们强制为 NaN,也可以将它们丢弃并转换为 int。

标签: python pandas dataframe seaborn


【解决方案1】:

从您的评论来看,您似乎正在尝试在非数字列上绘图。 Try coercing them first:

dataset = dataset.apply(lambda x: pd.to_numeric(x, errors='coerce'))
sns.pairplot(dataset)

errors='coerce' 参数会将非强制值(您的列首先是对象的原因)替换为 NaN。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 2018-11-22
    • 1970-01-01
    相关资源
    最近更新 更多