首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习入门 3-3 NumPy数据基础

可以通过位置索引方式访问列表某个元素: ? 可以列表某一位置进行修改: ?...Python中list是对类型不做具体限定list,与此同时list中每一个元素类型可以是不一样,比如下面位置5元素重新赋值为一个字符串: ?...参数具体细节可以使用"Shift + Tab"快捷方式查看。 同样可以像list列表那样通过位置索引来获取元素: ? 也可以通过位置索引来修改指定位置元素值: ?...测试NumPy模块 我们可以使用下面代码来测试NumPy模块是否安装成功,并且查看安装NumPy对应版本号: image.png NumPy简单使用 ? 可以通过位置索引来查看指定元素: ?...可以通过位置索引修改某一个元素值: ? 当然由于numpy数组同样只能存储一种数据类型,所以使用字符串修改元素值会抛出异常: ?

78000

看图学NumPy:掌握n维数组基础知识点,看这一篇就够了

因此,常见做法是定义一个Python列表,对它进行操作,然后再转换为NumPy数组,或者用np.zeros和np.empty初始化数组,预分配必要空间: ?...axis参数 许多操作(例如求和)中,我们需要告诉NumPy是否要跨行或跨列进行操作。...默认情况下,一维数组二维操作中被视为行向量。因此,矩阵乘以行向量时,可以使用(n,)或(1,n),结果将相同。 如果需要列向量,则有转方法对其进行操作: ?...pd.DataFrame(a).sort_values().to_numpy():通过从左向右所有列进行排序 高维数组运算 通过重排一维向量或转换嵌套Python列表来创建3D数组时,索引含义为(z...如果不方便使用axis,可以数组转换硬编码为hstack形式: ? 这种转换没有实际复制发生。它只是混合索引顺序。 混合索引顺序另一个操作是数组。检查它可能会让我们对三维数组更加熟悉。

6K20
您找到你想要的搜索结果了吗?
是的
没有找到

猿创征文|数据导入与预处理-第2章-numpy

numpy中提供了多种形式索引:整数索引、花式索引和布尔索引通过这些索引可以访问数组单个、多个或一行元素。此外,还可以使用切片访问数组元素。...4.1 使用整数索引访问元素 numpy可以使用整数索引访问数组,以获取该数组单个元素或一行元素。 一维数组访问元素方式与列表访问元素方式相似,它会根据指定整数索引获取相应位置元素。..._2d[[0, 2]]) 输出为: [[1 2 3] [7 8 9]] 使用两个花式索引,即通过“二维数组[花式索引,花式索引]”形式访问数组时,会将第一个花式索引对应列表各元素作为行索引...,第二个花式索引对应列表各元素作为列索引,再按照“二维数组[行索引,列索引]”形式获取对应位置元素。...[ 8 11 12 23 34] 6.3数组 熟悉数组可以通过T属性、transpose()方法、swapaxes()方法实现数组操作。

5.7K30

numpy总结

元素个数 itemsize元素空间大小 nbytes总空间 T转 ndim维数 real复数数组实部,imag复数数组虚部 flat返回迭代器遍历数组 numpy.tolist()数组转换为列表...)得到数组每个元素对数数组 numpy.std()数组标准差 ndarray.copy()复制 numpy.dtype()自定义数据类型,接收元组列表作为参数。...numpy.convolve()卷积,两个函数相乘,移动窗口均值可以用1/窗口长度组成数组和原数组作为参数 numpy.linespace()返回一个元素值指定范围均匀分布数组...np.searchsorted(数组a,要插入数组值)计算出不影响数组a插入位置索引,再通过np.insert(a,索引,插入数组)就不影响原先数组顺序 np.extract((a%2==...np.assert_array_less()比较一个数组每个元素是否大于另一个数组对应索引每个元素,抛出异常 numpy中要注意几个地方: 切片不会复制原数组,而是生成原数组视图

1.6K20

数据导入与预处理-课程总结-01~03章

数据集成主要是把多个数据源合并成一个数据源过程,以达到增大数据量目的。 数据变换主要是数据转换成适当形式过程,以降低数据复杂度。...当使用布尔索引访问数组时,会将布尔索引对应数组列表元素作为索引,以获取索引为True时对应位置元素。...与Python列表不同,数组参与算术运算时无需遍历每个元素,便可以对每个元素执行批量运算,效率更高。...2.5.3 数组 熟悉数组可以通过T属性、transpose()方法、swapaxes()方法实现数组操作 2.5.4 随机数生成 1. numpyrandom库 python里随机数生成主要有两种方式...创建Series类对象或DataFrame类对象时,既可以使用自动生成整数索引,也可以使用自定义标签索引。无论哪种形式索引,都是一个Index类对象。

2.9K20

NumPy入门指南(二) | Day2

数组操作 数组索引和切片 数组索引就是列表下标,来表明数组中元素顺序位置;通过查询索引可以获取到想要元素, 切片是截取到需要元素集合。...''' arr:输入数组,如果不是一维数组则会展开 return_index:如果为true,返回新列表元素列表位置(下标),并以列表形式储 return_inverse:如果为true,返回旧列表元素列表位置...n') # return_index = True 会有两个返回值,一个是返回去重后数组u,还有一个是数组indices(缩影),表示去重后元素去重前列表位置。...0 去重数组索引数组: [2 5 6 7 8 9] [1 0 2 4 7 9] # 返回新列表元素列表位置 我们可以看到每个和原数组下标对应数值: [5 2 6 2 7 5 6 8 2...9] 去重数组下标: [2 5 6 7 8 9] [1 0 2 0 3 1 2 4 0 5] # return_inverse:如果为true,返回旧列表元素列表位置(下标),并以列表形式储

3.1K20

盘一盘 Python 系列 2 - NumPy (上)

使用 numpy 之前,需要引进它,语法如下: import numpy 这样你就可以numpy 里面所有的内置方法 (build-in methods) 了,比如求和与均值。...有些读者可能会说,NumPy 都什么好学数组都弄不懂的人还能干什么,那我来问你个问题,知道「转操作」吧,那么下面这个二维数组后是什么?...numpy.ndarray ndim:维度个数是 2 len():数组长度为 2 (严格定义 len 是数组「轴 0」元素个数) size:数组元素个数为 6 shape:数组形状 (2, 3)...获取数组通过索引 (indexing) 和切片 (slicing) 来完成, 切片是获取一段特定位置元素 索引是获取一个特定位置元素 索引和切片方式和列表一模一样,参考 Python 入门篇...3.1 正规索引 虽然切片操作可以由多次索引操作替代,但两者最大区别在于 切片得到是原数组一个视图 (view) ,修改切片中内容会改变原数组 索引得到是原数组一个复制 (copy),修改索引内容不会改变原数组

2.3K60

Python-Numpy数组计算

,与列表区别是:  数组对象内元素类型必须相同数组大小不可修改 3、常用属性:  T 数组(对高维数组而言)dtype 数组元素数据类型size 数组元素个数ndim 数组维数shape...索引,只索取为True部分,去掉False部分 通过布尔型索引选取数组数据,总是创建数据副本。...,切片数组修改会影响原数组。   ...答案:a[a>5]   原理:     a>5会对a中每一个元素进行判断,返回一个布尔数组     布尔型索引:将同样大小布尔数组传进索引,会返回一个由所有True对应位置元素数组  问题2:给一个数组...argmin 求最小值索引argmax 求最大值索引 十一、NumPy:随机数生成  随机数生成函数np.random子包内 常用函数    rand 给定形状产生随机数组(0到1之间数)randint

2.3K40

【干货】NumPy入门深度好文 (上篇)

使用 numpy 之前,需要引进它,语法如下: import numpy 这样你就可以numpy 里面所有的内置方法 (build-in methods) 了,比如求和与均值。...有些读者可能会说,NumPy 都什么好学数组都弄不懂的人还能干什么,那我来问你个问题,知道「转操作」吧,那么下面这个二维数组后是什么?...numpy.ndarray ndim:维度个数是 2 len():数组长度为 2 (严格定义 len 是数组「轴 0」元素个数) size:数组元素个数为 6 shape:数组形状 (2, 3)...获取数组通过索引 (indexing) 和切片 (slicing) 来完成, 切片是获取一段特定位置元素 索引是获取一个特定位置元素 索引和切片方式和列表一模一样,参考 Python 入门篇...3.1 正规索引 虽然切片操作可以由多次索引操作替代,但两者最大区别在于 切片得到是原数组一个视图 (view) ,修改切片中内容会改变原数组 索引得到是原数组一个复制 (copy),修改索引内容不会改变原数组

2.2K20

NumPy 笔记(超级全!收藏√)

布尔索引  我们可以通过一个布尔数组索引目标数组。  布尔索引通过布尔运算(如:比较运算符)来获取符合指定条件元素数组。 ...对于使用一维整型数组作为索引,如果目标是一维数组,那么索引结果就是对应位置元素;如果目标是二维数组,那么就是对应下标的行。  花式索引跟切片不一样,它总是数据复制到新数组中。   ...,返回新列表元素列表位置(下标),并以列表形式储return_inverse:如果为true,返回旧列表元素列表位置(下标),并以列表形式储return_counts:如果为true,返回去重数组元素数组出现次数...且x四个字节将被存储存储器 0x100, 0x101, 0x102, 0x103位置。 ...视图是数据一个别称或引用,通过该别称或引用亦便可访问、操作原有数据,但原有数据不会产生拷贝。如果我们对视图进行修改,它会影响到原始数据,物理内存在同一位置

4.6K30

盘一盘 NumPy (上)

使用 numpy 之前,需要引进它,语法如下: import numpy 这样你就可以numpy 里面所有的内置方法 (build-in methods) 了,比如求和与均值。...,NumPy 都什么好学数组都弄不懂的人还能干什么,那我来问你个问题,知道「转操作」吧,那么下面这个二维数组后是什么?...numpy.ndarray ndim:维度个数是 2 len():数组长度为 2 (严格定义 len 是数组「轴 0」元素个数) size:数组元素个数为 6 shape:数组形状 (2, 3)...获取数组通过索引 (indexing) 和切片 (slicing) 来完成, 切片是获取一段特定位置元素 索引是获取一个特定位置元素 索引和切片方式和列表一模一样,参考 Python 入门篇...3.1 正规索引 虽然切片操作可以由多次索引操作替代,但两者最大区别在于 切片得到是原数组一个视图 (view) ,修改切片中内容会改变原数组 索引得到是原数组一个复制 (copy),修改索引内容不会改变原数组

2.8K40

小蛇学python(8)pandas库之DataFrame

比如当我们得到一大堆已经存储在数据库中数据,我们想对它进行索引。当我们不想使用默认数字来当作索引时(比如上课老师点名,你觉得是点学号好,还是点姓名好呢?),我们可以通过来改变索引。...3.png 我们可以看到,是否有女朋友那一栏全部自动生成了NaN, 表示这一列数据为空。这里我们也可以得到启发,就是表格index(索引)也是可以改变,不一定就非要是数字。比如。...接下来我们介绍NumPy与Pandas中都有的一个定义,叫做广播。我们都知道,列表可以列表做运算,列表如果和整数运算就会报错。...可是NumPy、Pandas中就分别赋予了数组与表格对整数和一位数组运算。如果需要更加形象来表述何为广播。我觉得应该说,它赋予了数据形式可以与比其低一个维度数据形式运算能力。...10.png 数组里每个元素都比原来少了1,这个功能出现使得python更加灵活。其实我对它最大感悟就是,它使得我for循环时解决索引溢出问题方便多了。 表格也可以进行广播操作。

1.1K20

图解NumPy:常用函数内在机制

作者:Lev Maximov 机器之心编译 编辑:Panda 支持大量多维数组和矩阵运算 NumPy 软件库是许多机器学习开发者和研究者必备工具,本文通过直观易懂图示解析常用 NumPy 功能和函数...NumPy 数组完胜列表最简单例子是算术运算: 除此之外,NumPy 数组优势和特点还包括: 更紧凑,尤其是当维度大于一维时; 当运算可以向量化时,速度比列表更快; 当在后面附加元素时,速度比列表慢...所有包含花式索引方法都是可变:它们允许通过分配来修改原始数组内容,如上所示。这一功能可通过数组切分成不同部分来避免总是复制数组习惯。...三维及更高维 当你通过调整一维向量形状或转换嵌套 Python 列表来创建 3D 数组时,索引含义是 (z,y,x)。...另一种可以混合索引顺序运算是数组。了解它可能会让你更加熟悉三维数组

3.6K10

图解NumPy:常用函数内在机制

,本文通过直观易懂图示解析常用 NumPy 功能和函数,帮助你理解 NumPy 操作数组内在机制。...所有包含花式索引方法都是可变:它们允许通过分配来修改原始数组内容,如上所示。这一功能可通过数组切分成不同部分来避免总是复制数组习惯。...三维及更高维 当你通过调整一维向量形状或转换嵌套 Python 列表来创建 3D 数组时,索引含义是 (z,y,x)。...命令来堆叠图像会更方便一些,向一个 axis 参数输入明确索引数值: 堆叠一般三维数组 如果你不习惯思考 axis 数,你可以将该数组转换成 hstack 等函数中硬编码形式: 数组转换为...另一种可以混合索引顺序运算是数组。了解它可能会让你更加熟悉三维数组

3.2K20

【Python进阶】你真的明白NumPyndarray吗?

它存储一个均匀连续内存块中,可以这么理解,NumPy 多维数组在内部以一维数组方式存储,我们只要知道了每个元素所占字节数(dtype)以及每个维度中元素个数(shape),就可以快速定位到任意维度任意一个元素...2 NumPy高维数组索引与转 2.1 索引 当提到索引时,你可能觉得很简单,不就是通过索引获取某个元素吗?道理的确是这样。但是面对高维数组时,通过索引来获取某个元素还是比较麻烦。...我们可以先把它看成四个块,其中第0轴和第1轴确定某个块位置,第2轴和第3轴确定块中某个元素具体位置。 图中17第3块,如下图黄色部分,用0轴和1轴来表示的话,索引就是[1,0]。 ?...当然,你可以用下面的代码确认下,我们分析是否正确。...2.2 高维数组 高维数组一直是学习NumPy一个难点,尽管NumPy中只需要调用numpy.transpose就可以完成转操作,但是你真的能分析清楚为什么结果是这样吗?

1.9K10

盘一盘 Python 系列 2 - NumPy (上)

使用 numpy 之前,需要引进它,语法如下: import numpy 这样你就可以numpy 里面所有的内置方法 (build-in methods) 了,比如求和与均值。...,NumPy 都什么好学数组都弄不懂的人还能干什么,那我来问你个问题,知道「转操作」吧,那么下面这个二维数组后是什么?...numpy.ndarray ndim:维度个数是 2 len():数组长度为 2 (严格定义 len 是数组「轴 0」元素个数) size:数组元素个数为 6 shape:数组形状 (2, 3)...获取数组通过索引 (indexing) 和切片 (slicing) 来完成, 切片是获取一段特定位置元素 索引是获取一个特定位置元素 索引和切片方式和列表一模一样,参考 Python 入门篇...3.1 正规索引 虽然切片操作可以由多次索引操作替代,但两者最大区别在于 切片得到是原数组一个视图 (view) ,修改切片中内容会改变原数组 索引得到是原数组一个复制 (copy),修改索引内容不会改变原数组

1.5K30

【Python深度学习前传】用NumPy获取数组值、分片以及改变数组维度

获取数组值和数组分片 NumPy数组也指出与Python列表相同操作,例如,通过索引获得数组值,分片等。...下面的例子演示了如何通过索引获得NumPy数组值,以及对NumPy数组使用分片操作。...图1 数组索引和分片操作 2. 改变数组维度 处理数组一项重要工作就是改变数组维度,包括提高数组维度和降低数组维度,还包括数组。...NumPy提供大量API可以很轻松地完成这些数组操作。例如,通过reshape方法可以一维数组变成二维、三维或者多为数组通过ravel方法或flatten方法可以多维数组变成一维数组。...改变数组维度还可以直接设置NumPy数组shape属性(元组类型),通过resize方法也可以改变数组维度。通过transpose方法可以数组进行转

2.6K20
领券