首页 > 其他分享 >Numpy数组

Numpy数组

时间:2023-07-18 09:33:16浏览次数:31  
标签:Python Numpy 数组 创建 np array NumPy

Numpy是Python家族中数值计算、科学计算的基础,是很多使用工具包实现的基础。Numpy提供向量与矩阵运算有助于优化量化分析算法性能。

资料途径:

Numpy官方文档

Numpy简介

NumPy是Python中科学计算的基本包。它是一个Python库,提供了一个多维数组对象,各种派生对象(如屏蔽数组和矩阵),以及对数组进行快速操作的各种例程,包括数学、逻辑、形状操作、排序、选择、I/O、离散傅立叶变换、基本线性代数、基本统计操作、随机模拟等等。

NumPy包的核心是ndarray对象。它封装了同质数据类型的n维数组,为了提高性能,许多操作都在编译后的代码中进行。NumPy数组和标准Python序列的不同之处包括:

  1. NumPy数组在创建时有一个固定的大小,不像Python列表(可以动态地增长)。改变一个ndarray的大小将创建一个新的数组并删除原来的数组。
  2. NumPy数组中的元素都被要求是相同的数据类型,因此在内存中的大小也是相同的。例外的情况是:可以有(Python,包括NumPy)对象的数组,从而允许不同大小的元素的数组。
  3. NumPy数组便于对大量数据进行高级数学和其他类型的操作。通常情况下,与使用Python的内置序列相比,这种操作的执行效率更高,代码更少。
  4. NumPy(Numerical Python 的简称)提供了高效存储和操作密集数据缓存的接口。在某些方面,NumPy 数组与Python 内置的列表类型非常相似。但是随着数组在维度上变大,NumPy数组提供了更加高效的存储和数据操作。
import numpy as np

1. 创建数组

首先,可以用 np.array 从 Python 列表创建数组:

# 整型数组:
np.array([1, 41, 32, 35, 3])
array([21, 44, 32, 35, 3])

请记住,不同于 Python 列表,NumPy 要求数组必须包含同一类型的数 据。如果类型不匹配,NumPy 将会向上转换(如果可行)。这里整型 被转换为浮点型:

np.array([3.14, 42, 23, 13])
array([3.14, 4.  , 22.  , 23.  ])

如果希望明确设置数组的数据类型,可以用 dtype 关键字:

np.array([31, 32, 43, 34], dtype='float32')

不同于 Python 列表,NumPy 数组可以被指定为多维的。以下是 用列表的列表初始化多维数组的一种方法,即嵌套列表构成的多维数组:

np.array([range(i, i + 3) for i in [2, 4, 6]])

array 将序列之序列转换成二维数组

np.array([(1.5,2,3), (4,5,6)])
np.array([[1.5,2,3], [4,5,6]])

面对大型数组的时候,用 NumPy 内置的方法从头创建数组是一种更高 效的方法。以下是几个示例:

  • np.zeros:创建一个长度为10的数组,数组的值都是
  • np.ones:创建一个3×5的浮点型数组,数组的值都是1
  • np.full:创建一个3×5的浮点型数组,数组的值都是3.14
  • np.arange:从0开始,到20结束,步长为2,它和内置的range()函数类似
  • np.eye:创建一个3×3的单位矩阵
  • np.empty:创建一个由3个整型数组成的未初始化的数组,数组的值是内存空间中的任意值
np.zeros(10, dtype=int)
np.ones((3, 5), dtype=float)
np.full((3, 5), 3.14)
np.arange(0, 20, 2)
np.eye(3)
np.empty(3)
  • np.linspace创建一个5个元素的数组,这5个数均匀地分配到0~1
  • np.random.random创建一个3×3的、在0~1均匀分布的随机数组成的数组
  • np.random.normal创建一个3×3的、均值为0、方差为1的正态分布的随机数数组
  • np.random.randint创建一个3×3的、[0, 10)区间的随机整型数组
np.linspace(0, 1, 5)
np.random.random((3, 3))
np.random.normal(0, 1, (3, 3))
np.random.randint(0, 10, (3, 3))

标签:Python,Numpy,数组,创建,np,array,NumPy
From: https://www.cnblogs.com/qian-fen/p/17561910.html

相关文章

  • 数组
    数组是什么?数组可存放多个同一类型的数据。数组也是一种数据类型,是引用类型。【数组:一种数据类型,存储一组相同类型的数据】数组的定义方式方式一:动态初始化数据类型 数组名【】= new 数据类型【数据的容量大小】//方式1:int[]a=newint[10];//一个名为a的数组,存储int类......
  • java Array工具类构建数组
    JavaArray工具类构建数组在Java编程中,数组是一种重要的数据结构,它可以用于存储和操作一组相同类型的数据。在构建数组时,我们可以使用Java的Array工具类来帮助我们更轻松地创建和操作数组。本文将介绍如何使用JavaArray工具类来构建数组,并提供一些常用的示例代码。1.导入Array......
  • Java数组
    Java数组数组概述数组的定义数组是相同类型数据的有序结合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们数组声明创建首先必须声明数组变量,才能在程序中使用数组.下面是声明......
  • js最简代码获取多个数组的交集
    直接上代码!//定义三个数组leta=[1,3,5,7,9];letb=[1,2,4,5,7];letc=[1,3,5,8,7];constgetIntersection=(a,...array)=>{//...array表示可以传入多个数组 returna.filter(item=>array.every(elem=>elem.includes(item)))}letnewArray=getIntersection(a......
  • js数组去重
    constarr=[1,1,'true','true',true,true,15,15,false,false,undefined,undefined,null,null,NaN,NaN,'NaN',0,0,'a','a',{},{}]1、indexoffunctionunique(arr){constresult=[]for(leti=0,len=arr......
  • java怎么将json数组设置编码格式
    项目方案:JavaJSON数组编码格式设置1.项目背景和目标本项目旨在探讨如何使用Java编程语言将JSON数组设置为指定的编码格式。JSON(JavaScriptObjectNotation)是一种常用的数据交换格式,它使用文本格式来表示数据,易于人类阅读和编写,同时也易于机器解析和生成。在实际项目中,我们经常......
  • Vue3 遍历显示Json数组
    在Vue项目中遍历显示Json数组以列表的形式显示的页面上 main.js全局json对象//全局jsonconstglobalData=reactive({extTelTalkData:[{userExten:"1000",userName:"刘亦菲",callStatus:"通话"},......
  • NO35、数组中的逆排序(建议再刷)
    35、数组中的逆排序很好的题目,建议再刷在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范......
  • js 数组join,内容用序号连接
    要将数组内容用序号连接,你可以使用JavaScript的`Array.prototype.map()`方法和`Array.prototype.join()`方法来实现。下面是一个示例代码:```javascriptconstarr=["apple","banana","orange"];constjoinedString=arr.map((item,index)=>`${index+1}.${item}`)......
  • 数组
    数组一维数组的定义:类型说明符数组名[常量表达式];int[10]注意:定义数组的时候不能动态定义intn;scanf("%d",&n);inta[n];//c语言编译时就要储存一个数组的内存.不运行后期添加数组内存一些书写格式上的问题//遍历下标变量.输出数组for(i=0;......