【问题标题】:Plotting incompatible numpy arrays绘制不兼容的 numpy 数组
【发布时间】:2017-10-12 20:08:41
【问题描述】:

我有两个长度相同(398 行)的 numpy 数组,每个数组的前 5 个值如下:

y_predicted = 
 [[-0.85908649]
 [-1.19176482]
 [-0.93658361]
 [-0.83557211]
 [-0.80681243]]

y_norm =
            mpg
0     -0.705551
1     -1.089379
2     -0.705551
3     -0.961437
4     -0.833494

也就是说,第一个在每个值周围都有方括号,第二个有索引,没有方括号。

数据是 Auto-MPG 数据集第一列 (MPG) 的标准化版本。 y_predicted 值是线性回归的结果。

https://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data

有人知道如何将这些数组转换为相同的类型,以便绘制它们的散点图吗?

两者都有形状:(398, 1) 两者都有类型:class 'numpy.ndarray', dtype float64


来自所提供链接的数据

18.0   8   307.0      130.0      3504.      12.0   70  1    "chevrolet chevelle malibu"
15.0   8   350.0      165.0      3693.      11.5   70  1    "buick skylark 320"
18.0   8   318.0      150.0      3436.      11.0   70  1    "plymouth satellite"
16.0   8   304.0      150.0      3433.      12.0   70  1    "amc rebel sst"
17.0   8   302.0      140.0      3449.      10.5   70  1    "ford torino"
15.0   8   429.0      198.0      4341.      10.0   70  1    "ford galaxie 500"

【问题讨论】:

  • 您显示的输出太模棱两可,无法说明数据中实际发生的情况。您能否提供更多信息,例如数组类型、形状以及它们的来源?
  • 数组的dtype 属性是什么?
  • 这正是您在打印y_predicted[:5]y_norm[:5] 时看到的内容吗?如果第二个数组的形状为(398, 1),那么每个0 -0.705551 都是一个元素。那是什么,一个字符串?另外,我们要求的不是type(y_predicted),而是y_predicted.dtype
  • 欢迎来到 SO。不幸的是,这不是一个讨论论坛或代码编写服务:请花时间阅读How to Ask 及其包含的链接。
  • 两者都是 dtype "float64" 确实,y_predicted[:5] 和 y_norm[:5] 打印如上,虽然列的标题包含在 y_norm 中(我现在在上面进行了编辑以使清除)。

标签: python arrays numpy plot


【解决方案1】:

对我来说,第二个看起来像 pandas Series。如果是这样,您可以使用y_norm.values 来获取底层的numpy 数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-16
    • 2017-01-22
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 2020-12-21
    相关资源
    最近更新 更多