Numpy基础

Numpy基础

1、主要作用

​ 进行科学计算(支持矩阵和ndarray数组对象),内存连续(访问效率高), 支持并行运算,有两种存储风格(F风格—列优先存储, C风格—行优先存储)

2、数组基础

import numpy as np
arr = np.array(....) # 创建简单的数组
arr.size  # 4  数组中的元素个数
arr.itemsize # 数组中各个元素的占位大小
arr.dtype  # 数组中元素的数据类型
arr.ndim  # 数组的维度
arr.shape # 数组的形状, 元组形式返回, 返回的数据长度为数组的维度大小。

3、数组的创建

固定数组的创建

​ 1、使用array直接创建

import numpy as np

np.array()
arr = np.array([1,2,3,4,5])
print('arr:\n',arr)
print('arr:\n',type(arr))

输出结果:
arr:
 [1 2 3 4 5]
arr:
 <class 'numpy.ndarray'>

​ 2、使用arange来创建数组

# 参数1 : 开始位置 --包含开始位置
# 参数2: 结束位置---不包含结束位置
# 参数3: 步长
arr = np.arange(0, 10, 1)
arr = np.arange(10, dtype=np.float32)  # 当开始位置为0,并且步长为1,那么可以只指定结束值即可!
# arr = np.arange(0, 10, 2)
print('arr\n', arr)
print('arr\n', type(arr))  # <class 'numpy.ndarray'>

​ 3、使用linsapce来创建数组-----为等差数组

# 参数1:开始位置---包含开始位置
# 参数2 : 结束位置---包含结束位置
# 参数3 : 生成数组的元素的个数
# 参数 endpoint = True ---指的是包含结束位置
# 参数 dtype ---指定数据的类型
arr = np.linspace(0, 10, 6)
print('arr:\n', arr)
print('arr:\n', type(arr))

结果:
arr:
 [ 0.  2.  4.  6.  8. 10.]
arr:
 <class 'numpy.ndarray'>

​ 4、使用logspace创建数组-----为等比数组

# 参数1 ---开始位置
# 参数2 ---结束位置
# 参数3 ---生成数组的元素的个数
# 注意:参数1、2都针对的是指数
# 参数 base --就是底数
arr = np.logspace(0, 2, 3, base=10)
print('arr:\n', arr)
print('arr:\n', type(arr))

结果:
arr:
 [  1.  10. 100.]
arr:
 <class 'numpy.ndarray'>

​ 5、使用zeros创建数组-----为全为0的数组

# 参数shape ---生成数组的形状--元组
# 参数dtype ---元素的数据类型
arr = np.zeros(shape=(2,3),dtype=np.int32)
print('arr:\n',arr)
print('arr:\n',type(arr))

结果:
arr:
 [[0 0 0]
 [0 0 0]]
arr:
 <class 'numpy.ndarray'>

​ 6、使用ones创建数组-----为全为1的数组

# 参数shape ---生成数组的形状--元组
# 参数dtype ---元素的数据类型
arr = np.ones(shape=(2,3),dtype=np.int32)
print('arr:\n',arr)
print('arr:\n',type(arr))

结果:
arr:
 [[1 1 1]
 [1 1 1]]
arr:
 <class 'numpy.ndarray'>

​ 7、使用diag来创建数组----类似于对角矩阵,但可以控制偏移量

参数—对角线上的元素!!

k-----用来控制偏移量的,正往右上角偏移,负则往左下角偏移

arr = np.diag([1, 2, 3, 4])
print('arr:\n', arr)
print('arr:\n', type(arr))
结果:
arr:
 [[1 0 0 0]
 [0 2 0 0]
 [0 0 3 0]
 [0 0 0 4]]
arr:
 <class 'numpy.ndarray'>

添加 k参数

arr = np.diag([1, 2, 3, 4], k=1)
print('arr:\n', arr)
print('arr:\n', type(arr))
结果:
arr:
 [[0 1 0 0 0]
 [0 0 2 0 0]
 [0 0 0 3 0]
 [0 0 0 0 4]
 [0 0 0 0 0]]
arr:
 <class 'numpy.ndarray'>

​ 8、使用eye创建数组----类似于单位矩阵

# 参数--传递一个值,表示生成一个 参数*参数的 类似于单位矩阵的数组
arr = np.eye(3)
print('arr:\n', arr)
print('arr:\n', type(arr))
print('arr:\n', arr.dtype)
结果:
arr:
 [[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
arr:
 <class 'numpy.ndarray'>
arr:
 float64
随机数组的创建

​ 1、创建[0,1)内的均匀分布的数组
使用random.random创建
参数:可以是生成数组的元素个数 或者 是生成数组的形状!
arr = np.random.random(10) ------ 一维数组

arr = np
  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值