笔记1 重复

# """
# 初始numpy
#  numpy --科学计算库
#   结构核心:
#    ndarray对象
#    存储多维数组
#    单一数据类型
#    内存是连续的
#  两种存储风格:
#   C风格 --C语言风格--按行优先存储
#   F风格 --fortran语言风格 --按列优先存储
# """
import numpy as np
#
# #将列表转化为 数组
# # arr=np.array([1,2,3,4])
# # arr=np.array([[1,2,3,4],[5,6,7,0]])
# # arr = np.array([[[1, 2, 3, 4], [5, 6, 7, 0]],[[1, 2, 3, 4], [5, 6, 7, 0]]])
# # print('arr:\n',arr)
# # print('arr的类型:\n',type(arr))
#
# # ndarray对象属性
# # ndim shape size dtype itemsize
# # print('arr的维度:\n',arr.ndim)
# # print('arr的形状:\n',arr.shape)
# # print('arr的元素的个数:\n',arr.size)
# # print('arr的元素的类型:\n',arr.dtype)
# # print('arr的每一个元素的大小:\n',arr.itemsize)
#
# #创建数组
# #使用列表转化数组
# # arr=np.array([1,2,3,4])
# # # print('arr:\n',arr)
# # # print('arr的类型:\n',type(arr))
#
# #使用arange来创建数组
# #参数1 开始位置
# #参数2 结束位置,不包含结束位置
# #参数3 步长
# #如果开始值为0,且步长为1,那么开始与步长可以省略
# # arr=np.arange(0,5,1)
# # arr=np.arange(5)
# # print('arr:\n',arr)
# # print('arr的类型:\n',type(arr))
#
# #创建等差数组
# #参数1 开始值
# #参数2 结束值,包含结束值
# #参数3 生成数组的元素的个数
# # arr=np.linspace(0,5,4)
# # print('arr:\n',arr)
# # print('arr的类型:\n',type(arr))
#
# #创建等比数组
# #参数1 开始值
# #参数2 结束值
# #参数3 生成数组的元素的个数
# #参数base --默认是10,生成10^开始,10^结束的等比数组
# # arr=np.logspace(0,2,3,base=2)
# # print('arr:\n',arr)
# # print('arr的类型:\n',type(arr))
#
# #创建元素全部为0的数组
# #参数 生成数组的形状
# # arr=np.zeros(shape=(2,2))
# # print('arr:\n',arr)
# # print('arr的类型:\n',type(arr))
#
# #创建全部为1 的数组
# # arr=np.ones(shape=(2,2))
# # print('arr:\n',arr)
# # print('arr的类型:\n',type(arr))
#
# #diag --创建一个类似于对角矩阵的数组
# # arr=np.diag(v=[1,2,3,4],k=0)
# # arr=np.diag(v=[1,2,3,4],k=1)
# # arr=np.diag(v=[1,2,3,4],k=-1)
# # print('arr:\n',arr)
# # print('arr的类型:\n',type(arr))
# #当v 为一维的时候
# # 当k=0,给定的v 就在对角位置
# #当k>0,给定的v 顺着反对角向上移动k个位置
# x=np.array([[1,2,3],[4,5,6],[7,8,9]])
# x = np.array(x)
# print("x:\n", x)
# arr = np.diag(v=x, k=0)
# arr = np.diag(v=x, k=1)
# arr = np.diag(v=x, k=-1)
# arr = np.diag(v=x, k=5)
# # arr = np.diag(v=[[[1, 2, 3], [4, 5, 6], [7, 8, 9]],[[1, 2, 3], [4, 5, 6], [7, 8, 9]]], k=5) # 错误的,v的值只能是一维或者2维
#
# #当v为二维的时候
# #当k=0,取v的对角线
# #当k>0,取对角线向上走k个结果
# #当k<0,取对角线向下走k个结果
# # print('arr:\n',arr)
# # print('arr的类型:\n',type(arr))

import numpy as sx
# arr=sx.array([1,2,3,4])
# print('arr:\n',arr)
# print('arr的属性:\n',type(arr))
#ndarray对象属性
#ndim shape size dtype itemsize
#ndim维度 0维--具体的数值
# 1维--可以参考简单列表 指的数列维度
# 2维--既有行维度,又有列维度的数组 可以参考列表嵌套
# 3维--既有块维度,又有行维度,又有列维度 多个二位组合起来的 列表嵌套两层
# 4维--既有堆维度,又有块维度,又有行维度,又有列维度
# 多个3维组合起来的,列表嵌套三层
# 5维--多个4维组合起来的
# n维--多个n-1维组合起来
#shape形状 例如(2,4)
#size元素的个数
#dtype类型
#itemsize每一个元素的大小 4字节

#使用arange来创建数组
#参数1 开始位置
#参数2 结束位置,不包含结束位置
#参数3 步长
#如果开始值为0,且步长为1,那么开始与步长可以省略

#创建等差数组
#参数1 开始位置
#参数2 结束位置,包含结束值
#参数3 生成数据的元素的个数
arr=sx.linspace(0,5,4)
print('arr:\n',arr)
#运行结果
#[0. 1.25 2.5 3.75 5.]

#创建等比数组
#参数1与参数2同上
#参数3 生成数组的元素的个数
#参数base--默认是10,生成10^开始,10^结束的等比数组
# arr=sx.logspace(0,2,3)
# print('arr:\n',arr)
#运行结果 [1. 10. 100.]
# arr=sx.logspace(0,2,3,base=2)
# print('arr:\n',arr)
#运行结果[1. 2. 4.] 2的0次方 2的平方

#创建元素全部为0的数组
#参数 生成数组的形状
arr=sx.zeros(shape=(2,2))
print(arr)
#创建元素全部为1的数组
arr=sx.ones(shape=(2,2))
print(arr)

# eye创建一个类似于单位矩阵的数组
#当只传N时,会创建一个N行,N列的单位矩阵的数组
#当NM都传且不相等时,先创建较小的单位矩阵数组,然后在多出的行、或者多出列位置补0
arr=sx.eye(N=2,M=3)
arr=sx.eye(N=2,M=3,k=0)
arr=sx.eye(N=2,M=3,k=-1)
#k可以参考diag里面的k进行理解
print(arr)
#diag--创建一个类似于对角矩阵的数组
arr=sx.diag(v=[1,2,3,4])
print(arr)

import random
#随机数组
#创建一个均匀分布的小数数组
#参数 可以是生成数组的元素个数,也可以是生成数组的行列数
# arr=sx.random.rand(10)
# arr=sx.random.rand(2,3)
# arr=sx.random.rand((2,3))#错误的,不可以传递形状
print(arr)

# 统计概率学里面的概念
# 正态分布--高斯分布
#均值:对称位置
#标准差:反应数据的离散程度,标注差越大,数据越离散,正态分布的图形,越平缓
#标准差越小,数据越集中,正态分布的图形越陡峭

#当均值为0,标准差为1的正态分布--叫做标准正态分布
#标准正态分布--大量叔家统计的结果--可以应用于少量的数据--但是少量的数据推不出标准正态分布

#创建符合标准正态分布的数组
#同 standard_normal一样
#参数可以是元素个数,也可以是生成数组的行列数,不能是形状
arr=sx.random.randn(2,3)
print(arr)

#生成随机整数数组
#生成[low,high]的数组
#size可以是元素个数,也可以是生成数组的形状
arr=sx.random.randint(low=0,high=1,size=10)
print(arr)

#生成指定范围内的随机小数的均匀数组
#生成[low,high]的指定范围的随机均匀分布的小数
#size--可以数组的元素的个数--也可以是数组的形状
arr=sx.random.uniform(low=1,high=10,size=(5,5))
print(arr)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值