Numpy一维数组

Numpy一维数组创建数组在使用 Numpy 的数组前 我们必须对 Numpy 库进行引入 importnumpya 我们可以通过将 Python 列表传递给它并使用 np array 来创建一个 NumPy 数组 也就是强大的 ndarray 在这种情况下 Python 创建了下面的数组 一个常见的错误在于使用多个数值参数调用 array 函数 而不是提供一个数字列表 List 作为参数 a n

创建数组

在使用Numpy的数组前,我们必须对Numpy库进行引入。

 import numpy as np 

我们可以通过将Python列表传递给它并使用 np.array() 来创建一个NumPy数组(也就是强大的ndarray)。在这种情况下,Python创建了下面的数组:
在这里插入图片描述
一个常见的错误在于使用多个数值参数调用 array 函数,而不是提供一个数字列表(List)作为参数。




 a = np.array(1,2,3,4) # *WRONG* a = np.array([1,2,3,4]) # *RIGHT* 

通常情况下,我们希望NumPy为我们初始化数组的值。NumPy为这些情况提供了诸如:ones()zeros()empty()random.random() 之类的方法。
函数 zeros() 创建一个由 0 组成的数组,函数 ones() 创建一个由1数组的数组,函数 empty() 内容是随机的并且取决于存储器的状态,函数 random.random() 创建一个由 [0,1) 。默认情况下,创建的数组的 dtypefloat64
在这里插入图片描述
另外,arange() 函数将创建具有有规律递增值的数组。这里给出几个例子:






 >>> np.arange(10) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> np.arange(2, 10, dtype=np.float) array([ 2., 3., 4., 5., 6., 7., 8., 9.]) >>> np.arange(2, 3, 0.1) array([ 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9]) 

linspace() 函数将创建具有指定数量元素的数组,并在指定的开始值和结束值之间平均间隔。例如:

 >>> np.linspace(1., 4., 6) array([ 1. , 1.6, 2.2, 2.8, 3.4, 4. ]) 

这个创建函数的优点是可以保证元素的数量以及开始和结束点,对于任意的开始,停止和步骤值, arange() 函数通常不会这样做。

创建布尔数组

我们创建一个Numpy数组元素值全为True(真)的布尔数组。

 np.full(5, True, dtype=bool) Out: array([ True, True, True, True, True]) 

上面的 full() 函数用于创建一个填充给定值的数组,dtype 表示给定值的类型。

数组的计算

我们创建两个NumPy数组 dataones ,并进行计算。
在这里插入图片描述
下面计算两个数组的和:
在这里插入图片描述
通过上面的计算,我们发现,可以像操作变量一样操作Numpy中的数组,而不必使用任何循环结构。
在这里插入图片描述
通常情况下,我们希望在数组和单个数值之间执行操作(也可以将其称为向量和标量之间的操作)。比如,我们的数组表示以英里为单位的距离,我们希望将其转换为公里数。可以进行简单的计算 data * 1.6
在这里插入图片描述
Numpy数组在进行计算时,数组中的每个元素都进行了计算,这就是上节中提到的 广播 ,这个概念十分的有用。
















索引

 in: print(data[-2]); out: 2 

数组的常用方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222287.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午4:08
下一篇 2026年3月17日 下午4:08


相关推荐

  • Java设计模式(三)之创建型模式:单例模式

    Java设计模式(三)之创建型模式:单例模式

    2021年4月9日
    154
  • 缓存穿透,缓存击穿,缓存雪崩解决方案分析

    缓存穿透,缓存击穿,缓存雪崩解决方案分析前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案

    2022年6月30日
    23
  • 走近webpack(0)–正文之前的故事

    在前端工作的过程中,只要你接触过vue,angular,react,gulp就一定知道webpack或者听说过或者使用过webpack,但是或许你对webpack的使用方法并不是十分了解,只是会用写好

    2022年3月25日
    43
  • DDoS攻击的工具介绍[通俗易懂]

    DDoS攻击的工具介绍[通俗易懂]1.低轨道离子加农炮(LOIC)1.1什么是低轨道离子加农炮(LOIC)?低轨道离子加农炮是通常用于发起DoS和DDoS攻击的工具。它最初是由PraetoxTechnology作为网络压力测试

    2022年6月30日
    37
  • php json字符串转json对象_PHP字符串函数

    php json字符串转json对象_PHP字符串函数怎么把php字符串转为json发布时间:2020-07-2214:05:08来源:亿速云阅读:162作者:Leah这期内容当中小编将会给大家带来有关怎么把php字符串转为json,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。php把字符串转为json的方法:首先定义一个数组,调用json_encode方法将数组编码为json格式的字符串;然后添加参数“true…

    2025年6月22日
    3
  • idea2018激活码【2021免费激活】[通俗易懂]

    (idea2018激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1M3Q9SD5XW-eyJsa…

    2022年3月28日
    1.2K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号