简介

NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。

安装

Python官方版本,可以通过pip或者源码安装,推荐使用anaconda,这是发行版的python,内含了numpy等重要第三方库。

anaconda安装使用见Windows下Anaconda3安装及使用教程_周先森爱吃素的博客-CSDN博客 。

基本用法

创建ndarray对象

这是这个模块最核心的对象,表示一个n维数组,它是相同类型的数据集合。

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

其中,

object  任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。

dtype  数组的所需数据类型,可选。

copy  可选,默认为true,对象是否被复制。

order  C(按行)、F(按列)或A(任意,默认)。

subok  默认情况下,返回的数组被强制为基类数组。 如果为true,则返回子类。

ndimin 指定返回数组的最小维数。

import numpy as np# 一维
a = np.array([1, 2, 3])
print(a)
# n维
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
# 带数据类型设置
c = np.array([1, 2, 3], dtype=complex)
print(c)
# 带最小维度设置
d = np.array([[1, 2, 3], [4, 5, 6]], ndmin=3)
print(d)

dtype的使用

首先,numpy提供了比python更加丰富的标量数据类型。

numpy.dtype(object, align, copy)

其中,

Object:被转换为数据类型的对象。

Align:如果为true,则向字段添加间隔,使其类似 C 的结构体。

Copy: 生成dtype对象的新副本,如果为flase,结果是内建数据类型对象的引用。

import numpy as np
# 内置转换
dt1 = np.dtype(np.int32)
print(dt1)
# 简略写法
dt2 = np.dtype('i4')
print(dt2)
# 结构化数据
dt3 = np.dtype([('year', np.int16)])
print(dt3)
a = np.array([(1998, ), (2000, ), (2012, )], dtype=dt3)
print(a)
# 结构化数据的字段访问
print(a['year'])
# 完整的结构示例,类似C语言结构体
date = np.dtype([('year', np.int32), ('month', np.int8), ('day', np.int8)])
b = np.array([(1998, 5, 26), (2000, 5, 26), (2014, 5, 26)])
print(b)

ndarray属性

shape:包含数组维度的元组

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
print(a.shape)# a.shape = (3, 2)
# print(a)
# 等价于下面
c = a.reshape(3, 2)
print(c)

ndim: 维度数

a = np.arange(24)
print(a.ndim)
b = a.reshape(2, 4, 3)
print(b.ndim)

itemsize:每个元素占字节数

flags:数组的几个状态

特殊数组的创建

numpy.empty(shape, dtype = float, order = 'C')  没有初值但是分配空间的数组

numpy.zeros(shape, dtype = float, order = 'C')   初值全为0的数组

numpy.ones(shape, dtype = None, order = 'C')   初值全为1的数组

其中,

shape是形状,如(2,2)表示二行二列

dtype表示数据类型

order表示组织风格

其余数值类型数组如arange不细说

import numpy as np
a = np.empty((2, 2), dtype=np.int8, order='C')
print(a)
b = np.zeros((2, 2), dtype=np.int8, order='C')
print(b)
c = np.ones((2, 2), dtype=np.int8, order='C')
print(c)

从python内置数据类型转换为numpy的数组

asarray

numpy.asarray(a, dtype = None, order = None)

其中,

a 任意形式的输入参数,比如列表、列表的元组、元组、元组的元组、元组的列表

dtype,order 不再说明

import numpy as np
# 列表
x = [1, 2, 3]
a = np.asarray(x)
print(a)
# 元组
a = np.asarray(x)
print(a)
# 元组列表
x = [(1, 2, 3), (4, 5)]
a = np.asarray(x)
print(a)

frombuffer

numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)

其中,

buffer 任何暴露缓冲区接口的对象

dtype 同上

count 需要读取的数据数量,默认为-1,读取所有数据

offset 需要读取的起始位置,默认为0

fromiter

numpy.fromiter(iterable, dtype, count = -1)

其中,

iterable 任何可迭代对象

dtype 返回数组的数据类型

count 需要读取的数据数量,默认为-1,读取所有数据

Python第三方包-你了解numpy吗(numpy基础)相关推荐

  1. Python第三方包-你了解numpy吗(numpy进阶)

    创建数组等基础操作见:Python第三方包-你了解numpy吗(numpy基础)_周先森爱吃素的博客-CSDN博客 索引和切片 基本切片:可以使用slice对象切片,也可以像python内置类型一样. ...

  2. python怎么安装包-怎么在windows下安装python第三方包

    python第三方包的windows安装文件exe格式, 这上面有很多python第三方包的二进制安装文件,包括32位和64位的.下载安装就ok了! 这下面有很多python第三方包的二进制安装文件, ...

  3. python第三方包的windows安装文件exe格式

    今天弄了一上午的python-ldap,发现要么安装vc,要么用其他比较麻烦的方法,都比较麻烦.幸好找到这个地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/ ...

  4. windows10怎么安装python第三方库_怎么在windows下安装python第三方包

    python第三方包的windows安装文件exe格式, 这上面有很多python第三方包的二进制安装文件,包括32位和64位的.下载安装就ok了! 这下面有很多python第三方包的二进制安装文件, ...

  5. Python 第三方包的使用指南

    Python 第三方包的使用指南 Python 第三方包的使用指南 Numpy 查看ndarray数组中的非零最小项 数组复制 Scipy 计算距离矩阵 数学,物理常量和单位 cmath 直角坐标系和 ...

  6. python 第三方包自动导入_7行代码,彻底告别python第三方包import导入问题!

    最近有不少小伙伴咨询关于pyton第三方包导入的问题,今天我们就来聊聊第三方包导入那些事. 随着对python学习的渐入臻境,越来越多的小伙伴们开始导入自己所需的第三方包,实现各种各样的功能.但是,他 ...

  7. python怎么安装第三方库-vs2017怎么安装python第三方包

    vs2017有独立的python环境:所以想在vs2017开发python并使用第三方包,需要在vs2017中操作,完成第三方包的安装. 一,查看vs2017有哪些版本的python,当前使用的是哪个 ...

  8. mitmdump 脚本使用python第三方包方法(报错:in script xxx.py: No module named ‘xxx‘)

    本文仅供学习交流使用,如侵立删! mitmdump -s 调用py脚本时 加载python第三方包会报错 报错:in script xxx.py: No module named 'xxx' 解决方法 ...

  9. anaconda安装python包_Anaconda:安装或更新 Python 第三方包

    conda和pip简介 conda conda是包及其依赖项和环境的管理工具. 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, F ...

  10. 内网安装python第三方包_内网安装python第三方包

    内网快速安装python第三方包 内网安装包是一个很麻烦的问题,很多时候,内网的源会出现问题,导致无法安装. 这里给出一种快速在内网中安装第三方包,无需使用内网的源. 外网操作 1.根据开发环境下的所 ...

最新文章

  1. 懒人 IDEA 插件推荐: EasyCode 一键帮你生成所需代码~
  2. RabbitMQ (五) 订阅者模式之分发模式 ( fanout )
  3. 【DevExpress v17.2新功能预告】增强ASP.NET TreeList
  4. android菜单和对话栏,Android回顾--(十一) 菜单和对话框
  5. YbtOJ#20081-[NOIP2020模拟赛B组Day8]树上排列【组合数,树形dp】
  6. Webydo:一款在线自由创建网站的 Web 应用
  7. pythondd_windows7下安装python环境和django
  8. 部署 kubectl 命令行工具
  9. 同济大学 线性代数 第六版 pdf_线性代数(第六版)【课后习题答案】
  10. PDF密码忘记了怎么办
  11. CSS3(新增样式)
  12. wordpress网站被黑后怎么解决
  13. C++(30)—奇偶数判断
  14. ios5.1.1旧版软件下载_苹果iOS 14.1正式版推送 关闭旧版本降级通道
  15. communicate(communicate with sb等于)
  16. js 中的 this、that
  17. 联邦学习中的安全聚合SMPC
  18. 从问题描述到电子运转 思维导图 《计算机系统概论》
  19. linux maven 发布项目,Linux下基于Maven的自动化打包发布项目
  20. MAC下基于XAMPP套件安装xdebug扩展

热门文章

  1. 为什么要用MyBatis-JDBC 连接数据库
  2. 超越95%面试者的秘籍 part 1
  3. flume高可用-balance-配置文件编写
  4. flume高可用-failover-配置文件编写
  5. v-if和v-show
  6. 新版本springboot-整合mybatis
  7. MySQL常用存储引擎之MyISAM
  8. python requests get请求_python+requests+new——get请求各种情况
  9. 210120 阶段三 fork与阻塞函数
  10. enum的介绍以及和#define的区别