
Numpy
文章平均质量分 50
Numpy
u013250861
这个作者很懒,什么都没留下…
展开
-
数据分析-第三方库(工具包):Numpy【使用ndarray对象处理多维数组】【比Python原生list运算效率高:①内存块风格;②支持并行化运算;③底层用C编写,内部解除了GIL(全局解释器锁)】
一、Numpy优势Numpy运算速度上的优势Numpy的数组内存块风格Numpy的并行化运算1 Numpy介绍Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。2 ndarray介绍NumPy provides an N-dimens原创 2020-10-25 15:41:02 · 1253 阅读 · 0 评论 -
NumPy(一):简介【主要功能:操作数组、矩阵】【Python + NumPy == Matlab】【包括很多实用的数学函数】【覆盖了很多的数学领域, 比如:线性代数、傅里叶变换、随机数生成】
1、NumPy是什么?NumPy是一个开源的Python科学计算库。 Numerical Python2、NumPy有什么功能NumPy主要的功能之一用来操作数组和矩阵。NumPy是科学计算、深度学习等高端领域的必备工具。使用TensorFlow、Caffe。框架训练神将网络模型时,需要进行大量复杂的计算,可以直接调用NumPy里面的APINumPy包含了很多实用的数学函数,覆盖了很多的数学领域, 比如:线性代数、傅里叶变换、随机数生成。NumPy可以取代一些商用的数学软件。Matlab一个原创 2022-04-04 15:53:27 · 3980 阅读 · 0 评论 -
NumPy(二):创建数组【生成固定范围的数组:arange、linspace】【生成0和1的数组:zeros()等】【从现有数组生成:array、asarray】【生成随机数组:np.random】
一、arange创建数组:arange(),类似range(),在给定间隔内返回均匀间隔的值。import numpy as np# 创建数组:arange(),类似range(),在给定间隔内返回均匀间隔的值。print(np.arange(10)) # 返回0-9,整型print(np.arange(10.0)) # 返回0.0-9.0,浮点型print(np.arange(5, 12)) # 返回5-11print(np.arange(5.0, 12, 2)) # 返回5.0原创 2022-04-04 22:45:00 · 5507 阅读 · 0 评论 -
NumPy(三):N维数组属性【ndim :数组维度的个数/轴数/秩/rank】【shape:形状】【size:数组的元素总数】【dtype:元素的类型】【itemsize:每个元素的字节大小】
数组的基本属性数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量:比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组所以一维数组就是NumPy中的轴(axes),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。import numpy as npmy_arr = np.array([ [1, 2, 3, 4],原创 2022-04-04 23:15:00 · 3519 阅读 · 0 评论 -
NumPy(四):数学运算【数组与标量的运算:加减乘除】【数组与数组的运算(广播机制)】
一、ndarray数组与标量的运算:加减乘除import numpy as npar = np.arange(6).reshape(2, 3)print('ar = ', ar)# 数组与标量的简单运算print('ar + 10 = ', ar + 10) # 加法print('ar * 2 = ', ar * 2) # 乘法print('1 / (ar + 1) = ', 1 / (ar + 1)) # 除法print('ar ** 0.5 = ', ar ** 0.5) #原创 2022-04-05 09:44:12 · 3786 阅读 · 0 评论 -
NumPy(五):数组统计【平均值:mean()、最大值:max()、最小值:min()、标准差:std()、方差:var()、中位数:median()】【axis=0:按列运算;axis=0:按列】
统计运算NumPy提供了一个,它描述了的“items”的集合。原创 2022-04-05 10:06:53 · 5262 阅读 · 0 评论 -
NumPy(六):数组堆叠:【vstack:垂直(按列顺序)堆叠数组】【hstack:水平(按列顺序)堆叠数组】【stack:axis=0/1/2】
首先生成一些数,import numpy as npa = np.arange(1, 7).reshape((2, 3))b = np.arange(7, 13).reshape((2, 3))c = np.arange(13, 19).reshape((2, 3))print('a = \n', a)print('b = \n', b)print('c = \n', c)即下面的形式下面分别以不同的形式输出:1、vstacks = np.vstack((a, b, c))pr原创 2022-04-05 10:00:45 · 3961 阅读 · 0 评论 -
NumPy(七):拆分【hsplit】【vsplit】
数组拆分:输出结果为列表,列表中元素为数组numpy.hsplit(ary, indices_or_sections):将数组水平(逐列)拆分为多个子数组 → 按列拆分numpy.vsplit(ary, indices_or_sections)::将数组垂直(行方向)拆分为多个子数组 → 按行拆import numpy as np# 数组拆分:输出结果为列表,列表中元素为数组ar = np.arange(16).reshape(4, 4)print('ar = ', ar)print(原创 2022-04-05 10:13:33 · 574 阅读 · 0 评论 -
NumPy(八):形状变换【生成新数组:ar.T、ar.reshape()、np.reshape(ar,(x,y))、np.resize(ar,(x,y,.))】【原地修改:ar.resize()】
.T/.reshape()/.resize()都是生成新的数组!!!my_arr.resize():将原数组原地修改形状,不生产新数组import numpy as np# 数组形状:.T/.reshape()/.resize()# 注意了:.T/.reshape()/.resize()都是生成新的数组!!!# .T方法:转置,例如原shape为(3,4)/(2,3,4),转置结果为(4,3)/(4,3,2) → 所以一维数组转置后结果不变ar1 = np.arange(10)ar2 =原创 2022-04-05 10:19:53 · 413 阅读 · 0 评论 -
NumPy(九):类型转换【ndarray.astype(type)】【ndarray.tostring([order])】【ndarray.tobytes([order]) 】
import numpy as np# 数组类型转换:.astype()ar1 = np.arange(10, dtype=float)print('ar1 = {0}, ar1.dtype = {1}'.format(ar1, ar1.dtype))print('-' * 100)# a.astype():转换数组类型# 注意:养成好习惯,数组类型用np.int32,而不是直接int32ar2 = ar1.astype(np.int32) # 可以在参数位置设置数组类型print(原创 2022-04-05 10:21:22 · 1016 阅读 · 0 评论 -
NumPy(十):ndarray数组索引、切片
一维、二维、三维的数组如何索引?直接进行索引,切片对象[ : , : , : ] – 先行后列 (以逗号分开各个维度,第1组表示第1维的切片方式,第2组表示第2维的切片方式…)一、基本索引及切片1、一维数组索引及切片import numpy as np# 一维数组索引及切片ar = np.arange(20)print('ar = ', ar)print('ar[4] = ', ar[4])print('ar[3:6] = ', ar[3:6])打印结果:ar = [ 0原创 2022-04-05 13:31:33 · 1460 阅读 · 0 评论 -
NumPy(十一):数组的条件运算、通用判断函数、三元运算
如果想要操作符合某一条件的数据,应该怎么做?1 逻辑运算# 生成10名同学,5门功课的数据>>> score = np.random.randint(40, 100, (10, 5))# 取出最后4名同学的成绩,用于逻辑判断>>> test_score = score[6:, 0:5]# 逻辑判断, 如果成绩大于60就标记为True 否则为False>>> test_score > 60array([[ True, True,原创 2022-04-05 11:16:39 · 2661 阅读 · 0 评论 -
NumPy(十二):数组排序
import numpy as npar1 = np.array([1, 4, 3, 2, 5, 6])print('ar1 = ', ar1)print('np.sort(ar1) = ', np.sort(ar1)) # 排序ar2 = np.array([[3, 1, 2], [6, 9, 5]])print('\nar2 = ', ar2)print('np.sort(ar2) = ', np.sort(ar2)) # 排序print('np.s原创 2022-04-05 10:07:50 · 336 阅读 · 0 评论 -
NumPy(十三):数组的复制【.copy()】
import numpy as np# 数组的复制ar1 = np.arange(10)ar2 = ar1print('ar1 = {0}, ar2 = {1}'.format(ar1, ar2))print('ar2 is ar1: ', ar2 is ar1)# 回忆python的赋值逻辑:指向内存中生成的一个值 → 这里ar1和ar2指向同一个值,所以ar1改变,ar2一起改变ar1[2] = 9print('ar1 = {0}, ar2 = {1}'.format(ar1, a原创 2022-04-04 21:35:48 · 893 阅读 · 0 评论 -
NumPy(十四):ndarray数组去重
np.unique()temp = np.array([[1, 2, 3, 4],[3, 4, 5, 6]])>>> np.unique(temp)array([1, 2, 3, 4, 5, 6])原创 2022-04-05 13:33:24 · 1589 阅读 · 0 评论 -
NumPy(十五):常用函数【np.append()、np.ravel()、np.concatenate()、np.c_[]】
一、np.append()函数np.append(arr, values, axis=None)作用为原始array添加一些values参数arr:需要被添加values的数组values:添加到数组arr中的值(array_like,类数组)axis:可选参数,如果axis没有给出,那么arr,values都将先展平成一维数组。注:如果axis被指定了,那么arr和values需要有相同的shape,否则报错:ValueError: arrays must have same numb原创 2022-04-05 13:38:43 · 205 阅读 · 0 评论 -
NumPy(十六):数据的保存、读取【numpy读取/写入数组数据、文本数据】
一、存储/读取数组数据 .npy文件1、存储数组数据 .npy文件import numpy as npimport os# 存储数组数据 .npy文件os.chdir(r'C:\Users\Administrator\Desktop')ar = np.random.rand(5, 5)print('ar = ', ar)np.save('arraydata.npy', ar) # 也可以直接 np.save('rC:\Users\Administrator\Desktop\array原创 2022-04-05 14:38:58 · 2044 阅读 · 0 评论 -
NumPy(十七):Meshgrid函数【应用场景:等高线、SVC中超平面的绘制】
一、Meshgrid函数import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 1, 5)y = np.linspace(0, 1, 3)print("x = ", x)print("-" * 50)print("y = ", y)print("-" * 100)X, Y = np.meshgrid(x, y)print("\nX.shape = {0} \nX = \n{1}".format(X.sha原创 2022-04-19 21:36:40 · 1271 阅读 · 0 评论