python机器学习之十 numpy库之数组(多维数组的一元操作、组合数组、数组分割、数组复制)

Numpy实验楼报告 【引言】  最近入门Machine Learning,再看Peter Harrington的《Machine Learning in Action》,发现Numpy真的是Python语言里非常重要的一个库,尤其在机器学习算法的编程中有广泛的应用。于是笔者到“实验楼”上去学习了一波,下面吧连接、Numpy的介绍和实验报告分享给大家 【目录】 1.引言 2.目录 3.Numpy简介 4 阅读详情

 

本篇主要介绍numpy中的数组操作:

1.多维数组的一元操作

2.组合数组

3.数组分割

4.数组复制

 

1.多维数组的一元操作

sum min max amax amin mean add multiply

np.abs(a) np.fabs(a) : 取各元素的绝对值

np.sign(a) : 计算各元素的符号值 1(+),0,-1(-)

np.sqrt(a) : 计算各元素的平方根

np.square(a): 计算各元素的平方

np.log(a) np.log10(a) np.log2(a) : 计算各元素的自然对数、10、2为底的对数np.exp(a) : 计算各元素的指数值

np.ceil(a) np.floor(a) : 计算各元素的ceiling 值, floor值(ceiling向上取整,floor向下取整)

np.rint(a) : 各元素 四舍五入

np.modf(a) : 将数组各元素的小数和整数部分以两个独立数组形式返回

 

sum

语法格式:

数组名称.sum(axis=某维)

    其余维不变,对指定维求和,指定维消失。

    不指定维数,表示对数组所有元素求和。

二维数组较好理解,如

b = np.arange(12).reshape(3,4)

b维度(3,4)

axis=0,在第一维度上求和,即按列求和,在行上压缩数据

axis=1,在第二维度上求和,即按行求和,在列上压缩数据

如:

b = np.arange(12).reshape(3,4)
'''
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
'''
b.sum(axis=0)    # 按列求和
'''
array([12, 15, 18, 21])
'''
b.sum(axis=1)    # 按行求和
'''
array([ 6, 22, 38])
'''

b=np.arange(24).reshape(2,3,4)
b
'''
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],
 
       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])
'''
b.sum(axis=0)
'''
array([[12, 14, 16, 18],
       [20, 22, 24, 26],
       [28, 30, 32, 34]])
'''
#(2,3,4)变为(3,4) 下标2的维消失,可以想象成数据压缩到了指定维上

b.sum(axis=1)
'''
array([[12, 15, 18, 21],
       [48, 51, 54, 57]])
'''
#(2,3,4)变为(2,4)

b.sum(axis=2)
'''
array([[ 6, 22, 38],
       [54, 70, 86]])
'''
#(2,3,4)变为(2,3)

b.sum(axis=0) 等同与  b[0,:,:]+b[1,:,:]

b.sum(axis=1) 等同与  b[:,0,:]+b[:,1,:]+b[:,2,:]

b.sum(axis=2) 等同与  b[:,:,0]+b[:,:,1]+b[:,:,2]+b[:,:,3]

 

min、max、amin、amax

语法格式:

  数组名称.min(axis=某维) 

      同

   numpy.amin(数组名称,axis=某维

指定维度下,其他维最小值

 

  数组名称.max(axis=某维)

   同

 numpy.amax(数组名称,axis=某维)

指定维度下,其他维的最大值

 

  未指定维度时,默认求数组所有元素的最大值、最小值

a = np.random.random((2,3))
'''
array([[0.74914116, 0.92214776, 0.4532684 ],
       [0.24116831, 0.69004573, 0.4828824 ]])
'''
a.min()
np.amin(a)
'''
0.24116831076315193
'''
a.max()
np.amax(a)
'''
0.9221477648955041
'''
a.min(axis=0)#在第0维上,对第1维求最小值,即求了每一列的最小值
np.amin(a,axis=0)
'''
array([0.24116831, 0.69004573, 0.4532684 ])
'''
a.min(axis=1)#在第1维上,对第0维求最小值,即求了每一列的最小值
np.amin(a,axis=1)
'''
array([0.4532684 , 0.24116831])
'''
a.max(axis=1)
np.amax(a,axis=1)
'''
array([0.92214776, 0.69004573])
'''
a.max(axis=0)
np.amax(a,axis=0)
'''
array([0.74914116, 0.92214776, 0.4828824 ])
'''

b=np.arange(24).reshape(2,3,4)
b
'''
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],

       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])
'''
b.max(axis=0)#求了第1、2维上的最大值
np.amax(b,axis=0)
'''
array([[12, 13, 14, 15],
       [16, 17, 18, 19],
       [20, 21, 22, 23]])
'''

mean

语法格式:

numpy.mean(数组名称,axis=指定维数)

在指定维上求平均值

stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
# 求每一列的平均值
result = np.mean(stus_score, axis=0)
print(result)
#[81.4 81.6]
# 求每一行的平均值
result = np.mean(stus_score, axis=1)
#[84.  81.5 79.5 84.5 78. ]

add 

 

multiply

在计算array数据类型时,*和multiply都表示对应元素的数乘。在计算matrix数据类型时,*就是和线性代数中矩阵运算规则一样,multiply依旧是对应元素的数乘。
语法格式:
numpy.multiply(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'multiply'>

x1 和 x2的element-wise乘积,保证x1和x2有相同的维数,或者进行broadcast之后两者有相同的维数

如:

x1 = np.arange(9.0).reshape((3, 3))
x2 = np.arange(3.0)
np.multiply(x1, x2)
'''
array([[  0.,   1.,   4.],
       [  0.,   4.,  10.],
       [  0.,   7.,  16.]])
'''

np.abs(a) np.fabs(a) : 取各元素的绝对值

np.sign(a) : 计算各元素的符号值 1(+),0,-1(-)

np.sqrt(a) : 计算各元素的平方根

np.square(a): 计算各元素的平方

np.log(a) np.log10(a) np.log2(a) : 计算各元素的自然对数、10、2为底的对数np.exp(a) : 计算各元素的指数值

np.ceil(a) np.floor(a) : 计算各元素的ceiling 值, floor值(ceiling向上取整,floor向下取整)

np.rint(a) : 各元素 四舍五入

np.modf(a) : 将数组各元素的小数和整数部分以两个独立数组形式返回

a = np.array([[-1,2,-3],[4,5,-6]])
'''
array([[-1,  2, -3],
       [ 4,  5, -6]])'''
#取各元素的绝对值 fabs()函数只适用于float和integer类型,而abs()也适用于复数
np.abs(a) 
'''
array([[1, 2, 3],
       [4, 5, 6]])
'''
np.fabs(a)
'''
array([[1., 2., 3.],
       [4., 5., 6.]])
'''

np.sign(a)#计算各元素的符号值 1(+),0,-1(-)
'''
array([[-1,  1, -1],
       [ 1,  1, -1]])
'''

a = np.array([[1,2,3],[4,5,6]])
'''
array([[1, 2, 3],
       [4, 5, 6]])
'''

#计算各元素的平方根
np.sqrt(a)
'''
array([[1.        , 1.41421356, 1.73205081],
       [2.        , 2.23606798, 2.44948974]])
'''

#计算各元素的平方
np.square(a)
'''
array([[ 1,  4,  9],
       [16, 25, 36]], dtype=int32)
'''

#计算各元素的自然对数、10、2为底的对数
np.log(a) 
'''
array([[0.        , 0.69314718, 1.09861229],
       [1.38629436, 1.60943791, 1.79175947]])
'''
np.log10(a) 
'''
array([[0.        , 0.30103   , 0.47712125],
       [0.60205999, 0.69897   , 0.77815125]])
'''
np.log2(a)
'''
array([[0.        , 1.        , 1.5849625 ],
       [2.        , 2.32192809, 2.5849625 ]])
'''

np.exp(a)#计算各元素的指数值
'''
array([[  2.71828183,   7.3890561 ,  20.08553692],
       [ 54.59815003, 148.4131591 , 403.42879349]])
'''

a=np.random.random((2,3))*10
'''
array([[5.79922262e+00, 6.51265142e+00, 2.52131915e+00],
       [3.57394912e+00, 4.13644919e-03, 8.35016334e+00]])
'''
#计算各元素的ceiling 值, floor值(ceiling向上取整,floor向下取整)
np.ceil(a)
'''
array([[6., 7., 3.],
       [4., 1., 9.]])
'''
np.floor(a)
'''
array([[5., 6., 2.],
       [3., 0., 8.]])
'''

np.rint(a)#各元素 四舍五入
'''
array([[6., 7., 3.],
       [4., 0., 8.]])
'''

np.modf(a)#将数组各元素的小数和整数部分以两个独立数组形式返回
'''
(array([[0.79922262, 0.51265142, 0.52131915],
       [0.57394912, 0.00413645, 0.35016334]]), array([[5., 6., 2.],
       [3., 0., 8.]]))
'''

2.组合数组

vstack

语法格式:

numpy.vstack(tup)

(a1,a2,...):元组,列表,或者numpy数组

返回结果为numpy的数组,垂直(按照行顺序)的把数组给堆叠起来。

hstack

语法格式:

numpy.hstack((a1,a2,...))

(a1,a2,...):元组,列表,或者numpy数组

返回结果为numpy的数组,水平(按照列顺序)的把数组给堆叠起来。

concatenate

语法格式:

numpy.concatenate((a1, a2, ...), axis=0)

根据指定的维度,对一个元组、列表中的list或者数组进行连接

例子:

a = np.floor(10*np.random.random((2,2)))
'''
输出:
array([[ 5.,  2.],
       [ 6.,  2.]])
'''
b = np.floor(10*np.random.random((2,2)))
'''
输出:
array([[ 0.,  2.],
       [ 4.,  1.]])
'''
np.vstack((a,b))
'''
输出:
array([[ 5.,  2.],
       [ 6.,  2.],
       [ 0.,  2.],
       [ 4.,  1.]])
'''
np.hstack((a,b))
'''
输出:
array([[ 5.,  2.,  0.,  2.],
       [ 6.,  2.,  4.,  1.]])
'''
	   
#要合并多个矩阵或者序列时,则用concatenate会更方便

a=np.array([1,2,3]).reshape(3,1)
b=np.array([4,5,6]).reshape(3,1)
np.concatenate((a,b,b,a),axis=0)   # axis=0 表示按第0维,也就是行堆叠纵向合并
'''
array([[1],
       [2],
       [3],
       [4],
       [5],
       [6],
       [4],
       [5],
       [6],
       [1],
       [2],
       [3]])
'''

np.concatenate((a,b,b,a),axis=1)  # axis=1 表示按第一维,也就是列堆叠横向合并
'''
array([[1, 4, 4, 1],
       [2, 5, 5, 2],
       [3, 6, 6, 3]])
'''

3.数组分割

split:指定分割维度,沿固定轴分割数组 

语法格式:numpy.split(ary, indices_or_sections, axis)
ary:分割数组

indices_or_sections:可以是整数,表明要从输入数组创建的,等大小的子数组的数量,将数组进行等量分割。 如果此参数是一维数组,则其元素表明要创建新子数组的点。

axis:分割维度

 

hsplit:横向按列分割

语法格式:numpy.hsplit(ary, indices_or_sections)

ary:分割数组

indices_or_sections:可以是整数,表明要从输入数组创建的,等大小的子数组的数量,将数组进行等量分割。 如果此参数是一维数组,则其元素表明要创建新子数组的点。

 

vsplit:纵向按行分割

语法格式:numpy.vsplit(ary, indices_or_sections)

ary:分割数组

indices_or_sections:可以是整数,表明要从输入数组创建的,等大小的子数组的数量,将数组进行等量分割。 如果此参数是一维数组,则其元素表明要创建新子数组的点。

a=np.arange(12).reshape((3,4))
np.split(a,3,axis=0)#将a数组a按行分成三份
#同 np.vsplit(a,3)
'''
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
'''

np.split(a,2,axis=1)#将a按列分成2半,每部分2列
#同 np.vsplit(a,3)
#同 np.
'''
[array([[0, 1],
        [4, 5],
        [8, 9]]), array([[ 2,  3],
        [ 6,  7],
        [10, 11]])]
'''
np.split(a,(1,2,3),axis=1)#在第一列 第二列 第三列位置进行分割
#同 np.vsplit(a,(1,2,3))
'''
[array([[0],
       [4],
       [8]]), array([[1],
       [5],
       [9]]), array([[ 2],
       [ 6],
       [10]]), array([[ 3],
       [ 7],
       [11]])]
'''

4.数组复制

  复制分浅复制与深度复制

浅复制:是使几个变量指向同一个指针,因此这几个变量中的一个改变,其余的几个也会跟着改变

[:]

使用数组切片方式,将得到的结果赋值给新元素

如:

a=np.arange(4)
#array([0, 1, 2, 3])
b=a # a,b变量指向同一个地址
a[0] = 1
print(b)
#array([1, 1, 2, 3])

a=np.arange(9).reshape((3,3))
'''
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
'''

c=a[0:1,:]
'''
array([[0, 1, 2],
       [3, 4, 5]])
'''
a[0,0] = 100
print(c)
'''
[[100   1   2]
 [  3   4   5]]
'''

深复制:是将一个变量的值赋给另一个变量,两者指向不同的指针,只是值相同。

copy

语法格式:

数组b=numpy.copy(arr)

arr:数组名称

如:

a=np.arange(9).reshape((3,3))
'''
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
'''
d = np.copy(a)
a[0,0] = 100
print(d)
'''
array([[100, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
'''
print(a)
'''
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
'''

 

Python(十)numpy 目录 NumPy Ndarray 对象 数据类型对象 (dtype) NumPy 创建数组 NumPy 数组属性 NumPy 切片和索引&迭代数组 NumPy 高级索引 NumPy 数学运算 NumPy 排序、条件刷选函数 numpy array的合并 numpy array的分割 数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采... 阅读详情

相关推荐

Numpy详解,带你一步步了解Numpy(一)

这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。(1)在python中,数据类型是动态推断的,类型的灵活性表明,python变量不仅仅是包含它们的值,而且还包含了关于这个值类型的额外信息例如。但是,如果列表中的所有变量都是相同类型的,那么很多额外的信息都是多余的。如果数组中的元素类型不匹配,Numpy将尽可能向上转换。.

m0_59160272的博客 2262

python numpy--数组的组合和分割

数组的组合主要有: 1.水平组合:np.hstack(arr1,arr2) 或 concatenate(arr1,arr2,axis=1) 2.垂直组合:np.vstack(arr1,arr2) 或 concatenate(arr1,arr2,axis=0) 3.深度组合:np.dstack(arr1,arr2) 4.列组合:np.column_stack(arr1,arr2) 5.行组合:np...

qq_43287650的博客 1万+

机器学习—numpy、matplotlib和sklearn

2.3 numpy库 numpy是高性能的科学计算库。 在numpy中,引入了”ndarray”多维数组的概念,其一维数组表示向量;二维数组表示矩阵,numpy的优势就是包含了矩阵相关的运算。 2.3.1 numpy.ndarray基本属性 #程序2-3 import numpy as np   print(np.__version__)   a = np.array([0,1,...

Bing_bing_bing_的博客 1103

NumPy 数组的组合和拆分操作

NumPy数组的组合和拆分函数的基本介绍。

weixin_43276033的博客 2735

机器学习学习笔记(一):Numpy基础操作(一)

写在前面的废话 因为在机器学习中经常需要对数据进行一些操作,Numpy提供了许多非常方便的数组和矩阵的操作,但是系统地介绍Numpy这个包的课程并不多,所以就把最近在学习的课程里面关于Numpy的内容整理出来。 首先,在Python中使用import numpy引入numpy包,可通过import numpy as np将numpy简写为np,下面的代码中都使用np代表numpy. Nump...

李先生家的猫的博客 708

Python第三方模块Numpy安装和使用

文章目录NumpyNumpy 的安装Numpu 简介NumPy 应用相关链接NumPy Ndarray 对象NumPy 数据类型NumPy 数组属性Numpy 的创建 array关键字Numpy 基础运算Numpy 基础运算1Numpy 基础运算2Numpy 索引一维索引二维索引Numpy array 合并Numpy array 分割创建数据纵向分割横向分割错误的分割不等量的分割其他的分割方式Nu...

小胖_@的博客 3179

多维数组的组合与拆分

垂直方向操作 import numpy as np a = np.arange(1,7).reshape(2,3) b = np.arange(7,13).reshape(2,3) # 垂直方向完成组合操作,生成新数组 c = np.vstack((a,b)) # 垂直方向完成拆分操作,生成两个数组 d,e = np.vsplit(c,2) 水平方向操作 import numpy as np a = np. arange(1,7).reshape(2,3) b = np.arange(7,13).

qq_52209816的博客 819

Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇

Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇 文章目录Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇前言一、数据库的安装前准备,前提是没有安装过!!!二、仅安装数据库软件(数据库运行环境)三、添加数据库实例四、设置监听程序,让数据库可以通过网络访问五、为目标数据库设置网名总结 前言 如果需要安装包:联系我看到会给你链接,因为现在官网已经不提供10g,11g的安装包了,在网盘保存望悉知(回复不会很及时,下班看到会回复敬请谅解)。 提示:以下

zhx__的博客 5630

Numpy数组的组合与分割详解

在介绍数组的组合和分割前,我们需要先了解数组的维(ndim)和轴(axis)概念。 如果数组的元素是数组,即数组嵌套数组,我们就称其为多维数组。几层嵌套就称几维。比如形状为(a,b)的二维数组就可以看作两个一维数组,第一个一维数组包含a个一维数组,第二个一维数组包含b个数据。 每一个一维线性数组称为一个轴。二维数组的第一个轴(axis=0)就是以数组为元素的数组,第二个轴(axis=1)就是数组中的数组。因此第一个轴的方向就是沿着行的方向(垂直方向),第二个轴的方向沿着列的方向(水平方向)。 我们从嵌

chinaherolts2008的博客 1730

ROS2中间件选型指南:FastDDS与CycloneDDS零拷贝机制对比与实战

在机器人开发中,通信中间件是连接分布式节点的核心纽带,其性能直接影响系统的实时性与可靠性。DDS作为ROS2默认的通信标准,通过发布订阅模型和QoS策略,为高频大带宽场景提供了灵活的数据分发能力。并行计算与高性能传输的需求,推动了零拷贝技术的演进——从传统序列化到共享内存乃至指针传递,旨在减少数据复制开销、降低延迟。在激光雷达点云、相机图像等场景下,中间件的选型尤为关键。FastDDS凭借与ROS2的深度集成和丰富文档成为入门首选,而CycloneDDS在低延迟和资源占用上表现更优,借助iceoryx实现了

weixin_28726391的博客 251

网络调试和分析工具 Proxyman Premium

它支持MacOS、iOS和iPadOS等操作系统,提供丰富的功能,如查看和编辑HTTP/HTTPS请求和响应、设置断点、过滤请求等。Proxyman Premium还支持WebSocket、GraphQL和gRPC等现代网络协议调试,并通过直观且图形化的操作界面,使用户能高效地监控和操纵网络数据流。此外,它还具备多种高级功能,如WebSocket支持、DNS欺骗、自定义SSL证书等,为开发人员提供极大的便利。同时,由于软件版本更新和界面调整,上述步骤可能会有所变化,建议您参考最新版本的官方文档进行操作。

llhf688的博客 2000

Numpy 常用函数笔记

np.min & np.amin manual: https://numpy.org/doc/stable/reference/generated/numpy.amin.html keypoints: 两者功能基本一致,np.min 更易用一点 keepdims = True 保持矩阵原格式输出 import numpy as np test_array = np.array([[1,2,3],[4,5,6],[7,8,9]]) # array.min()可用但array.amin()不可用

ObserverZhang的博客 362

电机控制必看!SVPWM谐波优化:5段式与7段式全参数对比测试

本文通过实测数据,对比分析了电机控制中5段式与7段式SVPWM控制算法的谐波性能。实验表明,7段式SVPWM在电流波形质量(THD)和低速性能上更优,而5段式SVPWM则在开关损耗和效率方面表现突出。文章为工程师在不同应用场景(如对噪音、效率或动态响应的侧重)下的算法选型提供了清晰的依据和实用的工程指南。

weixin_28331555的博客 177

Python库Numpy学习+代码实例

该库中的对象为多维数组,原名为ndarray,因此经常被叫做array。python中也有一个库叫做array,但是与这里的ndarray并不相同。前者仅限制在一维上,后者的维数更多且功能更加强大。

2203_75647316的博客 2366

Centos7.9使用kubeadm部署K8S集群

使用kubeadm部署一个k8s集群,单master+2worker节点。

lldhsds的专栏 1301

Redhawk: 为什么STA CHECK中switch cell覆盖率为0(STA file中switch control pin没有timing window)?

如题,做dynamic analysis时,不需要switch cell的timing window信息,但是做low power analysis需要做上电时switch cell的timing window就是必须的了,本文对switch cell control pin没有timing window (STA CHECK覆盖率为零)的这种现象做分析。

m0_61544122的博客 1197

【数据挖掘与机器学习】二、Python编程基础(3):Numpy篇

python编程基础:numpy库入门学习~一看就会的超实用基础知识

m0_73728497的博客 2314

代数拓扑与AI架构:AI应用架构师深入探索数学研究如何分析复杂系统的结构特性

随着人工智能技术的飞速发展,AI系统变得越来越复杂。AI应用架构师需要有效的工具和方法来理解、设计和优化这些复杂系统。代数拓扑作为数学的一个分支,提供了独特的视角和技术来分析复杂系统的结构特性。本文旨在帮助AI应用架构师深入了解代数拓扑,以及如何将其应用于AI架构设计中,提升对复杂系统的分析能力。首先,我们会介绍代数拓扑和AI架构相关的核心概念及其联系,通过有趣的故事引入主题,让读者轻松理解复杂概念。接着,深入探讨代数拓扑的核心算法原理,结合具体的编程语言代码示例详细阐述。

大模型应用工坊 670

NumPy — 从零到入门

numpy一.常见库函数1.empty2. full 一.常见库函数 1.empty empty(shape, dtype=float, order=‘C’) shape, int或int元组 dtype, 数组中元素的格式 C或F, 代表行优先或列优先 np.empty(shape=3) 2. full np.full() ...

UK - UofL HW - SDE 5655

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

python sklearn是什么_python常用库之NumPy和sklearn入门

Numpy 和 scikit-learn 都是python常用的第三方库。numpy库可以用来存储和处理大型矩阵,并且在一定程度上弥补了python在运算效率上的不足,正是因为numpy的存在使得python成为数值计算领域的一大利器;sklearn是python著名的机器学习库,它其中封装了大量的机器学习算法,内置了大量的公开数据集,并且拥有完善的文档,因此成为目前最受欢迎的机器学习学习与实践的...

weixin_39537298的博客 757

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

2024年Python最新Numpy详细教程_numpy详细教程 机器学习研究组,字节跳动面试链接

其它对象都是建构在它们之上 的。展平的数组元素的顺序通常是“C风格”的,就是说,最右边的索引变化得最快,所以元素a[0,0]之后是a[0,1]。注意一维数组的长度必须和你想要切片的维度或轴的长度一致,在之前的例子中,b1是一个秩为1长度为三的数组(a的行数),b2(长度为4)与a的第二秩(列)相一致.Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。当被索引数组a是多维的时,每一个唯一的索引数列指向a的第一维。

2401_84140463的博客 438

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

一篇文章让你快速入门Numpy

Numpy介绍什么是NumpyNumpy为什么这么快Numpy基本内容基本属性当然在选取的时候我们仍然可以设置里面的数据形式还可以简单的创建一个零矩阵和一矩阵numpy中还有arange函数,可以设定指定范围创建矩阵生成随机矩阵基础运算numpy中的三角函数矩阵中的数进行比较时会每个进行比较,返回bool值的同型矩阵利用numpy还可以进行矩阵的乘积运算还有其余的运算函数如下索引一维操作二维操作其余函数分割和合并分割合并总结 Numpy介绍 什么是Numpy Numpy是python中科学计算的基础包,提.

qq_51718832的博客 779

python sklearn库_python常用库之NumPy和sklearn入门

Numpy 和 scikit-learn 都是python常用的第三方库。numpy库可以用来存储和处理大型矩阵,并且在一定程度上弥补了python在运算效率上的不足,正是因为numpy的存在使得python成为数值计算领域的一大利器;sklearn是python著名的机器学习库,它其中封装了大量的机器学习算法,内置了大量的公开数据集,并且拥有完善的文档,因此成为目前最受欢迎的机器学习学习与实践的...

weixin_39867142的博客 319

python学习之数据分析(三):Numpy科学计算库

文章目录一、Numpy的优势:1.Numpy介绍:1.1 优势:1.2 文档:2. ndarray(任意纬度的数组)介绍:3.ndarray与Python原生list运算效率对比:4. ndarray的优势:4.1 内存块风格4.2 ndarray支持并行化运算(向量化运算)4.3 Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,...

浅弋、璃鱼的博客 1716

Numpy数组间运算

数组间运算 【数组与数】的4则运算: [[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]] 注意:python里面的列表是这样的运算规则吗?不是的。 我们发现a这个数组被复制了,可以参考python列表的运算,这样就对比出来一维数组和二维数组的区别了。 【数组与数组】的4则运算: arr1 = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]]) arr2 = np.array([[1, 2, 3, 4]

Learn_and的博客 1503
上一篇: python机器学习之九 numpy库之数组(数组的索引、切片;多维数组的基本操作)
下一篇: python机器学习之十一 numpy库之矩阵(matrix)
蜗牛专注学习
博客等级 码龄15年 127粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值