初探numpy
安装numpy
通过python pip安装numpy
pip install numpy
numpy ndarray对象
创建ndarray对象只需调用numpy的array函数即可
numpy.array(object , dtype = None , copy = True , order = None , subok = False , ndmin = 0)
参数 | 描述 |
---|---|
object | 数组或嵌套的数列 |
dtype | 数组元素的数据类型 |
copy | 对象是否需要复制 |
order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
subok | 默认返回一个与基类类型相同的数组 |
ndmin | 指定生成数组的最小维度 |
import numpy as np
array=np.array([1,2,3])
print(array)
[1 2 3]
array=np.array([[1,2],[3,4]])
print(array)
[[1 2]
[3 4]]
#最小维度测试
array=np.array([1,2,3],ndmin=2)
print(array)
[[1 2 3]]
#dtype参数测试
array=np.array([1,2,3],dtype=float)
print(array)
[1. 2. 3.]
numpy常用数据类型
类型 | 类型代码 | 描述 |
---|---|---|
int8、uint8 | i1、u1 | 有符号和无符号的8位(1个字节)整型 |
int16、uint16 | i2、u2 | 有符号和无符号的16位(2个字节)整型 |
int32、uint32 | i4、u4 | 有符号和无符号的32位(4个字节)整型 |
int64、uint64 | i8、u8 | 有符号和无符号的64位(8个字节)整型 |
float16 | f2 | 半精度浮点数,包括:1个符号位,5个指数位,10个尾数位 |
float32 | f4或f | 标准的单精度浮点数,包括:1个符号位,8个指数位,23个尾数位。与C的float兼容 |
float64 | f8或d | 标准的单精度浮点数,包括:1个符号位,11个指数位,52个尾数位。与C的double和Python的float对象兼容 |
complex64、complex128 | c8、c16 | 分别用两个32位、64位浮点数表示的复数 |
bool | ? | 布尔数据类型(表示True或False) |
数据类型对象(dtype)
dtype对象使用dtype函数构造
numpy.dtype(object , align , copy)
参数 | 描述 |
---|---|
object | 要转化为的数据对象 |
align | 如果为True,使其形成类似C的结构体 |
copy | 复制dtype对象,如果为False,则是对内置函数类型对象的引用 |
import numpy as np
#使用标量类型
dt=np.dtype(np.int64)
print(dt)
int64
#使用类型代码
dt=np.dtype('u8')
print(dt)
uint64
array=np.array([1,2,3],dtype=float)
print(array)
print(array.dtype)
[1. 2. 3.]
float64
ndarray对象属性
ndarray对象属性有:
属性 | 描述 |
---|---|
ndarray.ndim | 秩,即轴的数量或维度的数量 |
ndarray.shape | 数组的维度,对应矩阵,m行n列 |
ndarray.size | 数组元素的个数,相当于.shape中的m*n的值 |
ndarray.dtype | ndarray对象的元素类型 |
ndarray.itemsize | ndarray对象每个元素的大小,以字节为单位 |
ndarray.flags | ndarray对象的内存信息 |
ndarray.real | ndarray对象的实部 |
ndarray.imag | ndarray对象的虚部 |
import numpy as np
#ndim属性
array_a=np.array([1,2,3,4,5,6,7,8])
print(array_a)
print(array_a.ndim)
#调整大小
array_b=array_a.reshape(2,2,2)
print(array_b)
print(array_b.ndim)
[1 2 3 4 5 6 7 8]
1
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
3
#shape属性
array=np.array([[1,2],[3,4]])
print(array)
print(array.shape)
#调整大小
array.shape=(4,1)
print(array)
#通过reshape函数调整大小
array=array.reshape(1,4)
print(array)
[[1 2]
[3 4]]
(2, 2)
[[1]
[2]
[3]
[4]]
[[1 2 3 4]]
#itemsize属性
array_a=np.array([1,2,3],dtype=np.int64)
print(array_a.itemsize)
array_b=np.array([1,2,3],dtype=np.int8)
print(array_b.itemsize)
8
1
初探numpy的更多相关文章
- 初探numpy——广播和数组操作函数
numpy广播(Broadcast) 若数组a,b形状相同,即a.shape==b.shape,那么a+b,a*b的结果就是对应数位的运算 import numpy as np a=np.array( ...
- 初探numpy——numpy常用通用函数
numpy通用函数 快速的逐元素数组函数,也可以称为ufunc,对ndarray数据中的元素进行逐元素操作的函数 一元通用函数 函数名 描述 abs.fabs 取绝对值 sqrt 计算平方根,等同于a ...
- Numpy科学计算工具
Numpy初探 Numpy基础数据结构 Numpy数组是一个多维数组,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的原数据 导入该库: import numpy as np 多维数组 ...
- 科学计算工具-Numpy初探
Numpy基础数据结构 Numpy数组是一个多维数组,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的原数据 导入该库: import numpy as np 多维数组ndarray ...
- numpy的初探
# data = numpy.genfromtxt("C:\\Users\\Admin\Desktop\\111.txt", delimiter='\t', dtype='str' ...
- numpy之初探排序和集合运算
排序 排序 numpy与python列表内置的方法类似,也可通过sort方法进行排序. 用法如下: In [1]: import numpy as np In [2]: x = np.random.r ...
- python大数据初探--pandas,numpy代码示例
import pandas as pd import numpy as np dates = pd.date_range(',periods=6) dates import pandas as pd ...
- PROJ4初探(转并整理格式)
PROJ4初探(转并整理格式) Proj4是一个免费的GIS工具,软件还称不上. 它专注于地图投影的表达,以及转换.采用一种非常简单明了的投影表达--PROJ4,比其它的投影定义简单,但很明显.很容易 ...
- NumPy简明教程
源地址:http://blog.csdn.net/sunny2038/article/details/9002531 http://blog.csdn.net/sunny2038/article/de ...
随机推荐
- django 分页器 Paginator 基础操作
基于下面这个分页器,说明常用的属性 from django.core.paginator import Paginator #导入Paginator类 from sign.models import ...
- Matlab学习-(3)
1. 二维图 绘制完图形以后,可能还需要对图形进行一些辅助操作,以使图形意义更加明确,可读性更强. 1.1 图形标注 title(’图形名称’) (都放在单引号内)xlabel(’x轴说明’)ylab ...
- 2020i春秋新春战疫
简单的招聘系统 登陆这里就可以注入 查询这里也可以注入 从登陆这里注入把 爆破数据库名 爆破表名 列名 flag 就很奇怪跑出来的东西 重开容器跑一遍列,估计是flaaag.后面可能是发生了502 再 ...
- HTTPoxy漏洞(CVE-2016-5385)复现记录
漏洞介绍: httpoxy是cgi中的一个环境变量:而服务器和CGI程序之间通信,一般是通过进程的环境变量和管道. CGI介绍 CGI 目前由 NCSA 维护,NCSA 定义 CGI 如下:CGI(C ...
- redis: 乐观锁(十)
监视:watch 正常业务(单线程): 127.0.0.1:6379> set money 100 #模拟存款100元 OK 127.0.0.1:6379> set moneyout 0 ...
- 博云DevOps 3.0重大升级 | 可用性大幅提升、自研需求管理&自定义工作流上线,满足客户多样化需求
DevOps能够为企业带来更高的部署频率.更短的交付周期与更快的客户响应速度.标准化.规范化的管理流程,可视化和数字化的研发进度管理和可追溯的版本也为企业带来的了更多的价值.引入DevOps成为企业实 ...
- serialize和json_encode 区别
(1)serialize主要用于php的序列化,存储到文件或者数据库中,json_encode 也是序列化,但是 主要用于与其他语言比如js进行交互使用,对于传输来说,json有许多优点. (2)在显 ...
- Linux磁盘修复命令----fsck
使用fsck命令修复磁盘时 一定要进入单用户模式去修复 语 法fsck.ext4[必要参数][选择参数][设备代号] 功 能fsck.ext4 命令: 针对ext4型文件系统进行检测 参数 -a 非 ...
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:小技能 SmallDatetime)...
为什么80%的码农都做不了架构师?>>> 这个系统中的数据库有100多M,里面当然有很多表,我的每个表里,有几个字段,都是一样的例如 CreateUserID.CreateDat ...
- 图论--2-SAT--Ligthoj 1407 Explosion 三元关系枚举
Planet Krypton is about to explode. The inhabitants of this planet have to leave the planet immediat ...