Python第三方包-你了解numpy吗(numpy基础)
简介
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基础)相关推荐
- Python第三方包-你了解numpy吗(numpy进阶)
创建数组等基础操作见:Python第三方包-你了解numpy吗(numpy基础)_周先森爱吃素的博客-CSDN博客 索引和切片 基本切片:可以使用slice对象切片,也可以像python内置类型一样. ...
- python怎么安装包-怎么在windows下安装python第三方包
python第三方包的windows安装文件exe格式, 这上面有很多python第三方包的二进制安装文件,包括32位和64位的.下载安装就ok了! 这下面有很多python第三方包的二进制安装文件, ...
- python第三方包的windows安装文件exe格式
今天弄了一上午的python-ldap,发现要么安装vc,要么用其他比较麻烦的方法,都比较麻烦.幸好找到这个地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/ ...
- windows10怎么安装python第三方库_怎么在windows下安装python第三方包
python第三方包的windows安装文件exe格式, 这上面有很多python第三方包的二进制安装文件,包括32位和64位的.下载安装就ok了! 这下面有很多python第三方包的二进制安装文件, ...
- Python 第三方包的使用指南
Python 第三方包的使用指南 Python 第三方包的使用指南 Numpy 查看ndarray数组中的非零最小项 数组复制 Scipy 计算距离矩阵 数学,物理常量和单位 cmath 直角坐标系和 ...
- python 第三方包自动导入_7行代码,彻底告别python第三方包import导入问题!
最近有不少小伙伴咨询关于pyton第三方包导入的问题,今天我们就来聊聊第三方包导入那些事. 随着对python学习的渐入臻境,越来越多的小伙伴们开始导入自己所需的第三方包,实现各种各样的功能.但是,他 ...
- python怎么安装第三方库-vs2017怎么安装python第三方包
vs2017有独立的python环境:所以想在vs2017开发python并使用第三方包,需要在vs2017中操作,完成第三方包的安装. 一,查看vs2017有哪些版本的python,当前使用的是哪个 ...
- mitmdump 脚本使用python第三方包方法(报错:in script xxx.py: No module named ‘xxx‘)
本文仅供学习交流使用,如侵立删! mitmdump -s 调用py脚本时 加载python第三方包会报错 报错:in script xxx.py: No module named 'xxx' 解决方法 ...
- anaconda安装python包_Anaconda:安装或更新 Python 第三方包
conda和pip简介 conda conda是包及其依赖项和环境的管理工具. 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, F ...
- 内网安装python第三方包_内网安装python第三方包
内网快速安装python第三方包 内网安装包是一个很麻烦的问题,很多时候,内网的源会出现问题,导致无法安装. 这里给出一种快速在内网中安装第三方包,无需使用内网的源. 外网操作 1.根据开发环境下的所 ...
最新文章
- 懒人 IDEA 插件推荐: EasyCode 一键帮你生成所需代码~
- RabbitMQ (五) 订阅者模式之分发模式 ( fanout )
- 【DevExpress v17.2新功能预告】增强ASP.NET TreeList
- android菜单和对话栏,Android回顾--(十一) 菜单和对话框
- YbtOJ#20081-[NOIP2020模拟赛B组Day8]树上排列【组合数,树形dp】
- Webydo:一款在线自由创建网站的 Web 应用
- pythondd_windows7下安装python环境和django
- 部署 kubectl 命令行工具
- 同济大学 线性代数 第六版 pdf_线性代数(第六版)【课后习题答案】
- PDF密码忘记了怎么办
- CSS3(新增样式)
- wordpress网站被黑后怎么解决
- C++(30)—奇偶数判断
- ios5.1.1旧版软件下载_苹果iOS 14.1正式版推送 关闭旧版本降级通道
- communicate(communicate with sb等于)
- js 中的 this、that
- 联邦学习中的安全聚合SMPC
- 从问题描述到电子运转 思维导图 《计算机系统概论》
- linux maven 发布项目,Linux下基于Maven的自动化打包发布项目
- MAC下基于XAMPP套件安装xdebug扩展