掌握NumPy数组对象ndarray

关于NumPy

Python 提供了一个array 模块。array 和list 不同,它直接保存数值,和C 语言的一维 数组比较类似。但是由于Python 的array 模块不支持多维,也没有各种运算函数,因此也 不适合做数值运算。NumPy 的诞生弥补了这些不足。NumPy 提供了一种存储单一数据类型 的多维数组——ndarray。

NumPy的应用 

list和array的区别

生成list列表

# Python的列表
a = [1,2,3]
b = [4,5,6]
print(a + b)
print(a * 3)

结果

生成array数组

import numpy as np
np.random.random([3,3,3])

结果

创建数组对象

创建一维数组(tips:相同元素个数才能相加)

#创建一维数组
arr1 = np.array([1,2,3,4])
arr2 = np.array([1,1])
arr1
arr1 * 3
print(arr1 + 10)   #每个元素+10


不同维度类型


#创建一维数组
arr1 = np.array([1,2,3,4])
#创建二维数组
arr2 = np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]])
arr2
# 查看数组的维度
print("=========================")
arr1.ndim
arr2.ndim
#查看数组结构(shape)
arr1.shape
arr2.shape
#查看数组类型(dtype)
arr1.dtype
arr2.dtype
print("=========================")
#查看数组元素个数(size)
arr1.size
arr2.size
#查看数组每个元素大小(itemsize)
arr1.itemsize
arr2.itemsize

结果

重设形状 reshape方法

# reshape
arr2.reshape(2,6)
arr2
arr2.reshape(3,-1)

注意:使用reshape 时,原来的array数组形状是不变的

arange函数创建数组

#使用Numpy的arange函数创建数组
list (range(1,10))
np.arange(1,10)
np.arange(1,10,2)   #步长
np.arange(1,25).reshape(4,6) #4行6列

结果

linspace函数常见等差数列数组

# 创建9个范围在0到1的等差数组
np.linspace(0,1,9)

结果

logspace函数创建等比数列数组

# 创建5个10的0次方到10的2次方的等比数组
np.logspace(0,2,5)  

结果

zeros函数创建全0数组

#使用Numpy的zeros函数创建全0数组
np.zeros(5)
np.zeros((5,))
np.zeros((3,4))

结果

ones函数创建全1数组

#使用Numpy的ones函数创建全1数组
np.ones(5)
np.ones((3,4))

结果

eye函数创建对角单位函数

#使用Numpy的eye函数创建对角单位数组
np.eye(4)
np.eye(4)*3

结果

dig函数创建对角数组

#使用Numpy的diag函数创建对角数组
np.diag([1,3,5,7])

结果

数据类型转换

#数组数据类型的变换
arr = np.array([1,2,3])
arr.dtype
arr1 = np.float64(arr)
arr1.dtype

结果

生成随机数

标准库random (python中的random库)

import random
random.random()  #生成0-1的随机数
random.randint(1,3) #包含3

结果

tips: random.randint( x , y )生成的是[x,y]闭区间的范围

生成随机数组的random函数

注意是NumPy库的random子库中的random函数

import numpy as np
np.random.random()   #生成0-1的随机数
np.random.random(5)  #一维随机数组
np.random.random((2,3))   #二维随机数组

结果

生成服从均匀分布的随机数数组

注意是NumPy库的random子库中的random函数

np.random.rand(5)
np.random.rand(3,4)  #注意只有一对()

结果

生成服从正态分布的随机数数组

注意是NumPy库的random子库中的random函数

np.random.randn(5)
np.random.randn(3,4)    #注意只有一对()括号

结果

生成给定上下限的随机数数组

注意是NumPy库的random子库中的random函数

np.random.randint(2,10,(3,4))   # 不包含终端,生成2-10的随机数以3行4列展示

结果

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值