ValueError: Masked arrays must be 1-D

问题说明

使用numpy画散点图出现以上问题。(《机器学习-算法原理与编程实践》第7页)

原代码如下:

import numpy as np
import matplotlib.pyplot as plt

dataSet=np.random.rand(2,10)
dataSet=np.mat(dataSet)#1

print(dataSet)
plt.scatter(dataSet[0],dataSet[1])#2
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

解决方案

方法很多,如 
1. 去掉#1处代码(似乎等于没说) 
2. #2改为plt.scatter(dataSet[0].tolist(),dataSet[1].tolist()) 
plt.scatter(array(dataSet[0]),array(dataSet[1].tolist()))


type(dataSet[0])==<class 'numpy.matrixlib.defmatrix.matrix'>是矩阵对象不是一维(1-D)的
  • 1

这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_34613450/article/details/80041867
今日推荐