NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!
安装命令为:pip install numpy
编辑器中具体代码如下:
#导入numpy 库
import numpy as np
#打印版本号
# print(np.version.version)
#声明一个numpy 一维数组
nlist = np.array([1,2,3])
print(nlist)
#ndim方法用来查看数组维度
print(nlist.ndim)
print('==================')
#声明一个二维数组
nlist_2 = np.array([[1,2,3,4],[4,5,6,7]])
print(nlist_2)
print(nlist_2.ndim)
print('==================')
#使用shape 属性打印多维数组得形状
print(nlist.shape)
print(nlist_2.shape)
print('==================')
#使用size方法来打印多维数组得元素个数
print(np.size(nlist))
print(np.size(nlist_2))
print('==================')
#打印numpy多维数组得数据类型
#打印普通list
print(type([1,2,3]))
print(type(nlist))
print('==================')
#使用dtype属性来打印多维数组内部元素得数据类型
print(type(123))
print(nlist.dtype)
print('==================22222222222')
#itemsize属性,来打印多维数组中得数据类型大小,字节
print(nlist.itemsize)
print('==================11111')
#data属性,用来打印数据缓冲区 buffer
print(nlist.data)
print('==================')
#声明三维数组
nlist_3 = np.array([[[1,2,3],[4,5,6],[7,8,9,]]])
print(nlist_3.ndim)
print('==================')
#使用reshape方法来反向生成多维数组
nlist_4 = np.array(range(32)).reshape(4,2,2,2)
print(nlist_4)
print(nlist_4.ndim)
print('==================')
#使用浮点作为元素类型
nlist_float = np.array([1.0,2.0,3.0])
print(nlist_float.dtype)
print('==================')
#使用字符串
nlist_string = np.array(['1','2','3'])
print(nlist_string.dtype)
print('==================')
#使用ones方法 自动生成元素为1 的所谓数组
nlist_ones = np.ones((4,4))
print(nlist_ones)
print((nlist_ones.dtype))
print('==================')
#使用zero来生成元素为0的数组
nlist_zeros = np.zeros((4,4))
print((nlist_zeros))
print(nlist_zeros.dtype)
print('==================')
#使用 empty 生成多维随机数组,使用第二个参数指定数据类型
nlist_empty = np.empty([2,2],dtype=np.int)
print((nlist_empty))
print(nlist_empty.dtype)
print((nlist_empty.ndim))
print('==================')
#把普通list转换为数组
x = [1,2,3]
x = [(1,2,3),(4,5)]
print(type(x))
nlist = np.asarray(x)
print(type(nlist))
print(nlist.ndim)
print(nlist.shape)
print('==================')
# frombuffer 通过字符串(buffer内存地址)切片来生成多维数组
my_str = b'hello world'
nlist_str = np.frombuffer(my_str,dtype='S1')
print(nlist_str)
print('==================')
x = np.array([[1,2],[3,4]])
print(x)
#指定axis属性可以指定当前多维数组的维度 sum是跨维度列级求和
sum0 = np.sum(x,axis=0,keepdims=True) # axis=0 是跨维度列级相加
print(sum0)
sum1 = np.sum(x,axis=1,keepdims=True) # axis = 跨维度行级相加
print(sum1)
print('==================')
#多维数组赋值 根据列表下标原理
y = np.array([1,2])
z = y.copy()
y[0] = 3
y[1] = 3
print(z)
print('==================')
#维度级的运算
a = np.array([[1,2],[3,4],[5,6]])
b = np.array([[11,21],[13,41],[15,61]])
#vasack方法 (添加)
suma = np.vstack((a,b))
print(suma)
#hstack方法(混和)
sumb = np.hstack((a,b))
print(sumb)
print('==================222222222222222')
#多维数组调用
nlist = np.array([[1,2],[3,4],[5,6]])
#取元素4
print(nlist[1][1])
#第二种写法
print(nlist[1,1])
#修改
nlist[2,1] = 7
print(nlist)
#删除方法 delete
# 删除nlist 第二行
print('==================')
print(np.delete(nlist,1,axis=0))
print(np.delete(nlist,0,axis=1))
- Python:机器学习三剑客之 NumPy
一.numpy简介 Numpy是高性能科学计算和数据分析的基础包,机器学习三剑客之一.Numpy库中最核心的部分是ndarray 对象,它封装了同构数据类型的n维数组.部分功能如下: ndarray, ...
- Numpy 机器学习三剑客之Numpy
NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机 ...
- 机器学习三剑客之Numpy
Numpy NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Numpy内部解除了Python的PIL(全局解释器锁),运算效 ...
- 初识NumPy库-基本操作
ndarray(N-dimensional array)对象是整个numpy库的基础. 它有以下特点: 同质:数组元素的类型和大小相同 定量:数组元素数量是确定的 一.创建简单的数组: np.arra ...
- 机器学习中的numpy库
日常学习中总是遇到数据需要处理等问题,这时候我们就可以借助numpy这个工具来做一些有意思的事. 1.生成随机数的几种方式 x=np.random.random(12) ###生成12 ...
- 机器学习 三剑客 之 pandas + numpy
机器学习 什么是机器学习? 机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测 机器学习存在的目的和价值领域? 领域: 医疗.航空.教育.物流.电商 等... 目的: 让机器学习 ...
- numpy库常用基本操作
NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...
- 机器学习 Numpy库入门
2017-06-28 13:56:25 Numpy 提供了一个强大的N维数组对象ndarray,提供了线性代数,傅里叶变换和随机数生成等的基本功能,可以说Numpy是Scipy,Pandas等科学计算 ...
- (零)机器学习入门与经典算法之numpy的基本操作
1.根据索引来获取元素* 创建一个索引列表ind,用来装载索引,当numpy数据是一维数据时:一个索引对应的是一个元素具体的例子如下: import numpy as np # 数据是一维数据时:索引 ...
随机推荐
- blfs(systemd版本)学习笔记-构建gnome桌面系统后的配置及安装的应用
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.构建安装ibus-libpinyin的笔记地址:https://www.cnblogs.com/renren-study-n ...
- vue从入门到进阶:简介(一)
前言 用了这么久的vue了,但是一直没有时间写个系列文章,现在抽一定时间总结下vue的知识点. 首先,Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript ...
- CSS3效果:5种预载动画效果
实现如图所示的动画效果: 预载动画一:双旋圈 在两个不同方向旋转的圆圈.我们对内圈的转速定义了一个CSS代码,即内圈比外圈的速率快2倍.实现如图所示: html代码: <body style=& ...
- 洛谷P4065 [JXOI2017]颜色(线段树)
题意 题目链接 Sol 线段树板子题都做不出来,真是越来越菜了.. 根据题目描述,一个合法区间等价于在区间内的颜色没有在区间外出现过. 所以我们可以对于每个右端点,统计最长的左端点在哪里,刚开始以为这 ...
- mybatis 中 使用 allowMultiQueries=true
单条的数据进行修改或者插入的时候没问题,但是进行批量操作的时候就会出现错误,是因为没有开启支持批量操作的功能. mybatis支持批量操作 开启批量执行sql的开关,在拼装mysql链接的url时,为 ...
- C# 实现截图软件功能
本文是利用C# 开发截图软件的小例子,以供学习分享使用. 思路: 截取屏幕图片. 获取要截取的范围,即左上角,右下角坐标 填充到PictureBox中. 笔触功能,荧光笔,矩形,橡皮擦,复制,保存功能 ...
- socket和http的区别
1.HTTP连接 HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用 ...
- 使用Visual Studio Team Services敏捷规划和项目组合管理(七)——流程定制
使用Visual Studio Team Services敏捷规划和项目组合管理(七)--流程定制 在Team Services中,可以通过流程定制工作追踪体验.流程定义了工作项跟踪系统的构建部分,以 ...
- vue原理简介
写vue也有一段时间了,对vue的底层原理虽然有一些了解,这里总结一下. vue.js中有两个核心功能:响应式数据绑定,组件系统.主流的mvc框架都实现了单向数据绑定,而双向绑定无非是在单向绑定基础上 ...
- css点滴1—八种方式实现元素垂直居中
这里介绍实现元素垂直居中的方式,文章是参考了<css制作水平垂直居中对齐>这一篇文章. 1.行高和高度实现 这种方式实现单行垂直居中是很简单的,但是要保证元素内容是单行的,并且其高度是不变 ...