机器学习---- 关于numpy程序库的笔记

一、np.array()

       np.array()/1、参数一般是一个列表,可以将一个列表转换为多维数组。为什么要将列表转换为数组呢?因为列表中存储的是对象类型,如果是单一的类型,没有必要用列表,因为这样会浪费存储空间,同时也方便运算。

nparr = np.array([i for i in range(10)])
nparr 
结果:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

       2、想要查看数组中存储的数据类型可通过.dtype来查看。如果数据中有浮点数,则整数也转化为浮点数类型。

nparr2 = np.array([1,2,3.0])
nparr2.dtype
结果:
dtype('float64')

       3、还可以通过方法来直接创建特殊的数组(注意,通过这些方法创建的数组,其中的填充数据默认类型都为float),如下:

  • np.zeros(10):创建一个一维的0数组,若想要创建int型,要显示声明dtype=int,即:np.zeros(10,dtype = int)。
  • np.zeros((3,5)):创建一个多维的0数组。3为行,5为列。创建int型:np.zeros(shape = (3,5),dtype = int)
  • np.ones(10):创建一个一维的1数组。
  • np.ones((3,5)):创建一个多维的1数组。3为行,5为列。
  • np.full(shape = (3,5),fill_value=666):创建3行5列的数组,数据类型为int。
  • np.full(shape = (3,5),fill_value=666.0):创建3行5列的数组,数据类型为float。

       4、np.array的基本操作(x为数组)

  • .x.ndim:查看数组的维度
  • x.shape:查看数组的行数和列数,以元组的形式返回
  • x.size:返回数组中数据的个数
二、np.arange()

       1、创建列表我们可以直接用range。

[i for i in range(0,20,2)]
结果:
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

0和20是指:从0开始但不包括20,2为步长。

       2、np提供了np.arange()这个方法可以直接创建数组,用法同range差不多。传入前两个参数,默认步长为1;传入一个参数,则是指从0开始,到所传的参数,步长为1。

np.arange(0,20,2)
结果:
array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])
np.arange(0,10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
三、np.linspace
np.linspace(0,20,11)
array([ 0.,  2.,  4.,  6.,  8., 10., 12., 14., 16., 18., 20.])

       其中0为起始数,20为终止数,11是将0到20(包括20)以平均步长分为11个数。默认类型为float。

四、np.random

np中也封装了对随机数产生的方法。

  1. np.random.randint(0,10,size = 10):产生10个0到10的整型数,以一维数组的形式保存。(size可省略)
  2. np.random.randint(0,10,size=(3,5)):产生3行5列的0到10 的随机数组。
  3. np.random.random():产生一个0到1之间的随机数。
  4. np.random.random(10):产生10个0到1之间的随机数,以一维数组的形式保存。
  5. np.random.random((3,5)):产生3行5列的0到1的随机数组。
  6. np.random.normal(mean,stdev,size):给出均值为mean,标准差为stdev的高斯随机数(场),当size赋值时,例如:size=100,表示返回100个高斯随机数。
五、np.reshape

       np.reshape()可以将一个一维数组分割为多维数组,或者对它进行转置。

x = array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
x.reshape(2,5)
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

       x.reshape(2,5)将数组分割为2行5列的多维数组。如果不能分割,则会报错。

x.reshape(5,-1)
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])
x.reshape(-1,5)
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

       -1则是表明为任意行或者列,控制数组形状的为另一个参数。

原创请注明:https://blog.csdn.net/lzg13663472636/article/details/81158315

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值