初探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 ...
随机推荐
- D. AB-string
https://codeforces.com/contest/1238/problem/D 题目大意:统计good string的个数,good string的定义,给定的字符串中含有回文段落, 题解 ...
- 数据结构与算法--二分搜索(binary search)
前言 之前面试准备秋招,重新翻起了<编程之美>.在第三章节看到了一道关于二分搜索的讨论,觉得有许多细节是自己之前也没怎么特别注意地方,比如二分搜索的初始条件,转化.终止条件之类的. 问题 ...
- 爬虫需要登陆怎么办?这份python登陆代码请收下
模拟登陆思路 通过selenium中的webdriver控制浏览器登录目标网站,然后获取模拟登陆需要的Cookie,再利用此Cookie来达到登录的效果.本次我们使用webdriver来驱动火狐浏览器 ...
- Numpy学习-(2)
我学习numpy过程的记录 1. 切片和索引 (1) 两种切片方式示例: (2) 多维数组: import numpy as np a = np.array([[1,2,3],[3,4,5],[4,5 ...
- Spring5:控制反转
二.Spring IOC控制反转 1:IOC推导 >传统业务调用编程 定义一个userDao接口:UserDao package com.spring; public interface Use ...
- 挑战全网最幽默的Vuex系列教程:第六讲 Vuex的管理员Module(实战篇)
写在前面 这一讲是 Vuex 基础篇的最后一讲,也是最为复杂的一讲.如果按照官方来的话,对于新手可能有点难以接受,所以想了下,决定干脆多花点时间,用一个简单的例子来讲解,顺便也复习一下之前的知识点. ...
- C语言如何实现继承及容器
继承的概念 继承是面向对象软件技术当中的一个概念,与多态.封装共为面向对象的三个基本特征.继承可以使得子类具有父类的属性和方法或者重新定义,追加属性和方法. 面向对象中的重要概念就是类,在我们熟知的编 ...
- Asp.Net Core 3.1 的启动过程5
前言 本文主要讲的是Asp.Net Core的启动过程,帮助大家掌握应用程序的关键配置点. 1.创建项目 1.1.用Visual Studio 2019 创建WebApi项目. 这里面可以看到有两个关 ...
- How to permit SSH root Login in Ubuntu 18.04
https://www.ubuntu18.com/ssh-permitrootlogin/ SSH root login is disabled by default in Ubuntu 18.04. ...
- js 运动函数篇(二) (加速度运动、弹性运动、重力场运动(多方向+碰撞检测+重力加速度+能量损失运动)拖拽运动)层层深入
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写加速度运动.弹性运动.重力场运 ...