Python科学计算库Numpy

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

1、简介

Numpy是常用的科学计算库。

NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

ndarray 对象是用于存放同类型元素的多维数组。

使用array函数可以创建ndarray对象。

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

参数说明:

名称 描述
object 数组或嵌套的数列
dtype 数组元素的数据类型,可选
copy 对象是否需要复制,可选
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型一致的数组
ndmin 指定生成数组的最小维度

array函数可以将python的数据类型装换为ndarray类型,如列表、字典、元组等。

>>> import numpy as np

>>> np.array([0,2,1])  #列表
array([0, 2, 1]) >>> np.array([[1, 2], [3, 4]]) #列表
array([[1, 2],
[3, 4]]) >>> np.array({"name":"tom",1:True}) #字典
array({‘name‘: ‘tom‘, 1: True}, dtype=object) >>> np.array((1,3,0)) #元组
array([1, 3, 0])

ndarray也有一些属性,如shape等。

>>> l=np.array([1,2,3,4,5],dtype=int,ndmin=3) #获得一个ndarray
>>>l
>>>array([[[1, 2, 3, 4, 5]]]) >>> l.shape=(5,1) #控制形状
>>> l
array([[1],
[2],
[3],
[4],
[5]])

2、属性

ndarray有许多属性。

ndarray.ndim 秩,即轴的数量或维度的数量
ndarray.shape 数组的维度,对于矩阵,n 行 m 列
ndarray.size 数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtype ndarray 对象的元素类型
ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
ndarray.flags ndarray 对象的内存信息
ndarray.real ndarray元素的实部
ndarray.imag ndarray 元素的虚部
ndarray.data 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。
>>> l=np.array([1,2,3,4,5],dtype=int,ndmin=3) #获得一个ndarray
>>>l
>>>array([[[1, 2, 3, 4, 5]]]) >>> l.shape=(5,1) #控制形状
>>> l
array([[1],
[2],
[3],
[4],
[5]]) >>> l.size #数量
5 >>> l.ndim #秩
2
>>> l.flags #信息
C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : False
WRITEABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False >>> l[4] #通过索引可以访问
array([5])
>>>

3、创建

创建ndarray不仅仅有array函数,还要其他的一些函数。

zeros,empty,ones系列

这部分函数获取的ndarray都是按照特定元素来填充的。

函数主要有这几个参数:

参数 描述
shape 数组形状
dtype 数据类型,可选
order 有”C”和”F”两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。
>>> np.zeros([2,3]) #由0组成
array([[0., 0., 0.],
[0., 0., 0.]]) >>> np.empty([3,2]) #随机
array([[0., 0.],
[0., 0.],
[0., 0.]]) >>> np.ones([3,1]) #全部由一组成
array([[1.],
[1.],
[1.]])

arange函数

这个函数和range关键字功能类似。

>>> np.arange(1,10,2) #1-10之间、以2为步长
array([1, 3, 5, 7, 9])

4、函数

numpy提供了许多函数来辅助处理。

如amin、amax、sort等算术函数。

l=np.array([1,3,9,2,8,4,0,4,2])
l.shape=(3,3)
print(l) print("min: ",np.amin(l))
print("max: ",np.amax(l)) print(" axmin: ",np.min(l,1))
print(" aymin: ",np.min(l,0)) [[1 3 9]
[2 8 4]
[0 4 2]]
min: 0
max: 9
axmin: [1 2 0]
aymin: [0 3 2]

5、IO

numpy中的数组存入文件中以npy的后缀名。

通过load和save系列函数进行存入与读取。

import numpy as np

a=np.arange(1,100,5)

np.save("nd",a) #写入nd.npy中

b=np.load("nd.npy") #从文件中加载处来
print(b)

Python科学计算库Numpy

原文地址:https://www.cnblogs.com/cgl-dong/p/14142977.html

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理

 

Python科学计算库Numpy的更多相关文章

  1. python科学计算库numpy和绘图库PIL的结合,素描图片(原创)

    # 导入绘图库 from PIL import Image #导入科学计算库 import numpy as np #封装一个图像处理工具类 class TestNumpy(object): def ...

  2. [Python学习] python 科学计算库NumPy—矩阵运算

    NumPy库的核心是矩阵及其运算. 使用array()函数可以将python的array_like数据转变成数组形式,使用matrix()函数转变成矩阵形式. 基于习惯,在实际使用中较常用array而 ...

  3. Python科学计算库-Numpy

    NumPy 是 Python 语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,也是学习 python 必学的一个库. 1. 读取文件 numpy.gen ...

  4. Python 科学计算库numpy

    Numpy基础数据结构 NumPy数组是一个多维数组对象,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的元数 # 多维数组ndarray import numpy as np ar ...

  5. [Python学习] python 科学计算库NumPy—tile函数

    在学习knn分类算法的过程中用到了tile函数,有诸多的不理解,记录下来此函数的用法.   函数原型:numpy.tile(A,reps) #简单理解是此函数将A进行重复输出 其中A和reps都是ar ...

  6. Python科学计算库

    Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...

  7. 科学计算库Numpy基础&提升(理解+重要函数讲解)

    Intro 对于同样的数值计算任务,使用numpy比直接编写python代码实现 优点: 代码更简洁: numpy直接以数组.矩阵为粒度计算并且支持大量的数学函数,而python需要用for循环从底层 ...

  8. python科学计算库的numpy基础知识,完美抽象多维数组(原创)

    #导入科学计算库 #起别名避免重名 import numpy as np #小技巧:从外往内看==从左往右看 从内往外看==从右往左看 #打印版本号 print(np.version.version) ...

  9. python科学计算之numpy

    1.np.logspace(start,stop,num): 函数表示的意思是;在(start,stop)间生成等比数列num个 eg: import numpy as np print np.log ...

随机推荐

  1. ubuntu安装php的 mongodb扩展

    wget https://pecl.php.net/get/mongodb-1.2.6.tgztar -zxvf mongodb-1.2.6.tgz cd mongodb-1.2.6 /usr/bin ...

  2. react-hash-calendar,移动端日期时间选择插件

    按照惯例,先上效果图 vue 版本同款日历:https://github.com/TangSY/vue-hash-calendar react-hash-calendar 支持手势滑动操作 上下滑动 ...

  3. 自己动手实现java数据结构(九) 跳表

    1. 跳表介绍 在之前关于数据结构的博客中已经介绍过两种最基础的数据结构:基于连续内存空间的向量(线性表)和基于链式节点结构的链表. 有序的向量可以通过二分查找以logn对数复杂度完成随机查找,但由于 ...

  4. Java基础教程——String类

    String类 Java程序中的所有字符串字面值(如 "abc" )都是String的实例 字符串是常量(因为 String 对象是不可变的,所以可以共享) 字符串的本质是字符数组 ...

  5. odoo13之右上角弹出提示框

    前言 在odoo中已经提供好了右上角弹出提示框的接口,我们只需要调用即可: 而提示框的实现又分为前端js实现和后段函数实现,前后端实现的效果相同. 实现效果图 前端实现提示框 在前端中显示提示框最常用 ...

  6. java面试复习重点:类的管理及常用工具,教你抓住面试的重点!

    java复习: 类的管理及常用工具类 包 写在程序文件的第一行 一个Java 源文件中只能声明一个包, 且声明语句只能作为源文件的第一条指令 导入类能导入非public类,但是不能用因为在其他包缺省的 ...

  7. java43

    自定义日期格式 import java.text.DateFormat; import java.text.ParseException; import java.util.Date; public ...

  8. 通过Apache Hudi和Alluxio建设高性能数据湖

    T3出行的杨华和张永旭描述了他们数据湖架构的发展.该架构使用了众多开源技术,包括Apache Hudi和Alluxio.在本文中,您将看到我们如何使用Hudi和Alluxio将数据摄取时间缩短一半.此 ...

  9. 第7.6节 Python中类的继承机制详述

    在本章第一节,介绍了面向对象程序设计的三个特征:封装.继承和多态,前面章节重点介绍了封装和多态,由于Python语言是多态语言,对象的类型不再由继承等方式决定,而由实际运行时所表现出的具体行为来决定, ...

  10. LeetCode初级算法之字符串:387 字符串中的第一个唯一字符

    字符串中的第一个唯一字符 题目地址:https://leetcode-cn.com/problems/first-unique-character-in-a-string/ 给定一个字符串,找到它的第 ...