首页 > 编程语言 >python怎么初始化数组

python怎么初始化数组

时间:2024-09-21 21:21:34浏览次数:12  
标签:初始化 10 python dtype random 数组 np array

因为画图中x轴与y轴的数据通常为数组格式的数据,所以先总结一下如何初始化数组:

(1)list得到数组

# 通过array函数传递list对象
L = [1, 2, 3, 4, 5, 6]
a = np.array(L)
# 若传递的是多层嵌套的list,将创建多维数组
b = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
# 可以通过dtype参数在创建时指定元素类型
d = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], dtype=np.float)
# 如果更改元素类型,可以使用astype安全的转换
f = d.astype(np.int)

(2)使用arange

# 和Python的range类似,arange同样不包括终值;但arange可以生成浮点类型,而range只能是整数类型
# 1为开始值,10为终止值(不包括),0.5为步长
a = np.arange(1, 10, 0.5)

(3)使用ones、zeros、empty

# np.ones(shape, dtype),生成元素全为1(默认浮点型)的数组
# shape可以为一个整数得到一个一维数组,也可以为(整数1,整数2)的格式得到二维数组,同理可得多维数组
a = np.ones((3, 3), dtype=np.int32)
print("a: \n", a)
   
# np.zeros(shape, dtype),生成元素全为0(默认浮点型)的数组
# 用法与np.noes()一样
b = np.zeros((3, 3), dtype=np.int32)
print("b: \n", b)
   
# np.empty(shape, dtype),生成元素为随机数(默认浮点型)的数组
# 用法与np.ones()一样
c = np.empty((3, 4), dtype=np.int32)
print("c: \n", c)

# np.ones()、np.zeros()、np.empty()都具有如下形式复制一个结构一样的数组,但数据类型可选择
np.ones_like(array, dtype=)
np.zeros_like(array, dtype=)
np.empty_like(array, dtype=)

(4)等差数列

# linspace函数通过指定起始值、终止值和元素个数来创建等差数组,元素之间是等步长的
# endpoint表示是否包括终止值,默认为True
b = np.linspace(1, 10, 10,endpoint=True)

(5)等比数列

# 指定起始值、终止值、元素个数和基数来创建等比数列
# base表示基数,下式创建了一个1到4之间的有10个数的等比数列
d = np.logspace(1, 2, 10, endpoint=True, base=2)
# 基数为10,下式创建了一个10到100之间的有10个数的等比数列
d = np.logspace(1, 2, 10, endpoint=True, base=10)

(6)随机数

rand()

# 返回一个服从“0~1”均匀分布的随机数,该随机数在[0, 1)内,也可以返回一个由服从“0~1”均匀分布的随机数组成的数组。
# np.random.rand(d0, d1, …, dn)
# 返回一个随机值,随机值在[0, 1)内
In[15]: np.random.rand()
Out[15]: 0.9027797355532956
# 返回一个3x3的数组,数组元素在[0, 1)内
In[16]:np.random.rand(3,3)
Out[16]: 
array([[ 0.47507608,  0.64225621,  0.9926529 ],
    [ 0.95028412,  0.18413813,  0.91879723],
    [ 0.89995217,  0.42356103,  0.81312942]])
In[17]: np.random.rand(3,3,3)
  
# 返回一个3x3x3的数组
Out[17]: 
array([[[ 0.30295904,  0.76346848,  0.33125168],
    [ 0.77845927,  0.75020602,  0.84670385],
    [ 0.2329741 ,  0.65962263,  0.93239286]],
    [[ 0.24575304,  0.9019242 ,  0.62390674],
    [ 0.43663215,  0.93187574,  0.75302239],
    [ 0.62658734,  0.01582182,  0.66478944]],
    [[ 0.22152418,  0.51664503,  0.41196781],
    [ 0.47723318,  0.19248885,  0.29699868],
    [ 0.11664651,  0.66718804,  0.39836448]]])

randn()

# 产生标准正态分布随机数或随机数组,用法与rand(d0, d1, …, dn)方法一样
np.random.randn(d0, d1, …, dn)

randint()

# 可以生成随机数,也可以生成多维随机数组
# np.random.randint(low, high=None, size=None, dtype=)
# [0,4)之间的随机数
In[7]: np.random.randint(4)
Out[7]: 1
# [0,4)之间的一维数组
In[8]: np.random.randint(4,size=4)
Out[8]: array([2, 2, 2, 0])
# [4,10)之间的一维数组
In[9]: np.random.randint(4,10,size=6)
Out[9]: array([7, 9, 7, 8, 6, 9])
# [4,10)之间的2x2数组
np.random.randint(4,10,size=(2,2),dtype='int32')
Out[10]:
array([[7, 4],[6, 9]])

uniform()

# 产生[low, high)之间的均匀分布随机数或随机数组,low默认为0.0,high默认为1.0
np.random.uniform(low=0.0, high=1.0, size=None)

normal()

# 产生均值为loc,方差为scale的服从正太分布的随机数或随机数组,loc默认为0,scale默认为1
np.random.normal(loc=0.0, scale=1.0, size=None)

标签:初始化,10,python,dtype,random,数组,np,array
From: https://blog.csdn.net/hakesashou/article/details/142424692

相关文章

  • Python文件操作
    文件的编码编码就是一种规则集合,记录了内容和二进制间进行相互转换的规则,编码有许多种,我们最常用的是UTF-8编码常见的编码方式UTF-8:叫万国码-8bit是当前最流行的Unicode编码方式的字符集GBK:GBK向下与GB2312编码兼容,主要用于中文扩展为什么需要使用编码:计算机只......
  • python基频曲线
    在Python中,可以使用matplotlib库来绘制基频曲线(即音乐的音调曲线)。以下是一个简单的例子,演示如何绘制一个简单的正弦波基频曲线:importnumpyasnpimportmatplotlib.pyplotasplt#参数A=1.0#振幅f=440.0#频率(Hz),人耳听力的基准频率......
  • 【C++】数组案例:考试成绩统计
    要求:一个简单的二维数组使用案例,用于统计三个学生在三门课程中的考试成绩总分。代码要点:二维数组声明和初始化:intscore[3][3]:声明一个3行3列的二维数组,用于存储三个学生的三门课程成绩。初始化列表:为数组的每个元素赋初始值。总分统计:外层循环:遍历每个学生(行)。......
  • Python——列表与函数的关系
    目录1.问题描述2.与Python其他序列类型比较3.与C语言比较4.结论1.问题描述Python中为方便对列表进行修改,规定列表传入函数后进行的修改是直接针对原列表所在地址的,即在函数中对传入的列表的修改是全局的、永久的。示例代码如下:deffun(list):list[0][0]=18lis......
  • 24/9/21 python的推导式、生成器
    python推导式和生成器介绍1.列表推导式(ListComprehension)列表推导式是最常见的一种推导式,它允许你用一行代码生成列表,形式如下:new_list=[expressionforiteminiterableifcondition]expression:要添加到新列表的值,可以是简单的变量,也可以是运算结果。item:来自迭代......
  • D13【python接口自动化学习】-python基础之内置数据类型
    day13集合学习日期:20240920学习目标:内置数据类型--22常见常新:集合的常见操作学习笔记:集合与set对象创建set对象set对象的常用操作#使用set对象对元组去重color=('r','g','b','g','b','b')#创建元组new_color=set(color)#转换set对象去重print(new_color)#......
  • D14【python接口自动化学习】-python基础之内置数据类型
    day14字典的定义学习日期:20240921学习目标:内置数据类型--23字典:如何处理映射类型的数据?学习笔记:映射与字典字典的定义字典的删除总结字典用于存储键值对,键值对之间有关联字典键要求可哈希,一般采用字符串,元组做字典的键值可以使用dic()函数、推导式和花括号{}三......
  • Python基于TensorFlow实现时间序列循环神经网络回归模型(LSTM时间序列回归算法)项目实
    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。1.项目背景随着信息技术的发展和传感器设备的广泛应用,时间序列数据的产生量急剧增加。无论是股市价格的波动、电力消耗的趋势还是环境监测的数据变化,准确地预......
  • 20240921全国计算机二级Python考试(大头博士计算二级)
    一、背景需求:20240921我在上海应用技术大学44号楼考场参加2024年9月的全国计算机二级(Python语言程序设计)考试。时隔多年,再次来到大学校园,恍若隔世扫码找考场在哪里考场须知1、进考场,先刷身份证刷脸核对2、进入机房前,上厕所,手机关闭闹钟后关机,放到包里,身上有蓝......
  • 基于python+flask框架的基于微信小程序的小区疫情防控(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着全球疫情的持续影响,社区作为疫情防控的第一线,其管理效率与响应速度直接关系到居民的健康安全。传统的小区管理方式在面对疫情时显得力......