【问题标题】:ValueError: Buffer has wrong number of dimensions (expected 1, got 2) when using seabornValueError:使用 seaborn 时缓冲区的维数错误(预期为 1,得到 2)
【发布时间】:2018-07-18 18:23:59
【问题描述】:

我正在尝试使用 seaborn 绘制计数图。但是,我不断收到错误消息:

 ValueError: Buffer has wrong number of dimensions (expected 1, got 2)

数据是这样的数组格式:

      kmeans_updated_transform 
Output : array([[  69.86249185,  420.73371599,  293.97930338, ...,   75.0959945 ,
            1324.91605382,  695.82952194],
           [ 653.72679905,  173.0166009 ,  881.79444099, ...,  519.62763564,
             737.738956  ,  114.53013382],
           [ 137.60270124,  621.0421363 ,   93.48686268, ...,  271.48007915,
            1525.69688999,  896.4147582 ],
           ...,


pca_original_transform
Output: array([[ 9.43214091e+01, -1.89435531e+01,  1.07357663e+01, ...,
         1.23508040e-02, -4.93779143e-03,  4.85990628e-13],
       [ 6.82436757e+02,  3.43334711e+01,  9.96130809e+00, ...,
         1.91267574e-02,  8.14910013e-03, -1.38680181e-13],
       [-1.06579511e+02, -6.68715037e+00, -1.84056983e+00, ...,
        -1.90794427e-02, -4.22592696e-03, -2.87145744e-13],
       ...,

最后,我有一个名为 cat 的数据框。 这是我正在使用的代码

ax = sns.countplot(x=pca_orignal_transform, hue=kmeans_updated_transform, data=cat)

为什么当我尝试绘制计数图时会引发错误。任何帮助,将不胜感激。谢谢

【问题讨论】:

  • 能否展示异常发生的代码或部分代码?
  • @Shiva 我刚刚更新了问题中的代码。
  • 请检查您的cat 数据框中是否有重复的列名。
  • 您可能想阅读minimal reproducible example 并提供这样的示例,以便其他人有机会帮助您。

标签: python numpy data-visualization seaborn


【解决方案1】:

如果 df 是您的数据框,则通过将该数据框中的列名提供给 countplot 的参数来生成计数图

ax = sns.countplot(x="columnname1", hue="columnname2", data=cat)

【讨论】:

  • 好的,如果我只想使用数组而不是 df 它不起作用,为什么会这样? @ImportanceOfBeingErnest
  • 但是如果您查看countplot-documentation 上的参数data。它说它可以采用数组、数据框或数组列表...@ImportanceOfBeingErnest
  • 是的,data 可以是一个数组。但是hue 不能,如果给定了data。
  • 好的,我正在使用从数组名称中看到的 pca 数据绘制集群数据,我该怎么做? @ImportanceOfBeingErnest
  • 好吧,当然我的建议是使用我在这里提供的答案。
猜你喜欢
  • 2022-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-19
  • 2018-03-19
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多