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

python数据分析——数据的选择和运算

在NumPy中数组的索引可以分为两大类: 一是一维数组的索引; 二是二维数组的索引。 一维数组的索引和列表的索引几乎是相同的,二维数组的索引则有很大不同。...正整数用于从数组的开头开始索引元素(索引从0开始),而负整数用于从数组的结尾开始索引元素,其中最后一个元素的索引是-1,第二个到最后一个元素的索引是-2,以此类推。...函数语法为: .iloc[整数、整数列表、整数切片、布尔列表以及函数]。[ ]里面的使用方法同.loc[ ]方法。...关键技术:这里介绍一下.iloc[函数]中的函数使用方法: ①函数 =自定义函数(函数的返回值需要是合法对象(= 整数、整数列表、整数切片、布 列表)) ②匿名函数lambda :使用方法 语法...如果为True,则不要使用连接轴上的索引值。生成的轴将标记为0…, n-1。 join_axes-这是索引对象的列表。用于其他(n-1)轴的特定索引,而不是执行内部/外部设置逻辑。

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

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

    教程内容分为向量 (一维数组)、矩阵 (二维数组)、三维与更高维数组3个部分。 Numpy数组与Python列表 在介绍正式内容之前,先让我们先来了解一下Numpy数组与Python列表的区别。...这是因为0.1对于我们来说是一个有限的十进制数,但对计算机而言却不是。在二进制下,0.1是一个无穷小数,必须在某处截断。...和一维数组一样,上图的view表示,切片数组实际上并未进行任何复制。修改数组后,更改也将反映在切片中。 axis参数 在许多操作(例如求和)中,我们需要告诉NumPy是否要跨行或跨列进行操作。...但是当涉及一维数组与矩阵之间的混合堆叠时,vstack可以正常工作:hstack会出现尺寸不匹配错误。 因为如上所述,一维数组被解释为行向量,而不是列向量。...矩阵排序 尽管axis参数对上面列出的函数很有用,但对二维排序却没有帮助: ? axis绝不是Python列表key参数的替代。

    6K20

    python:numpy详细教程

    花哨的索引和索引技巧     NumPy比普通Python序列提供更多的索引功能。除了索引整数和切片,正如我们之前看到的,数组可以被整数数组和布尔数组索引。     ...对数组和矩阵,索引都必须包含合适的一个或多个这些组合:整数标量、省略号(ellipses)、整数列表;布尔值,整数或布尔值构成的元组,和一个一维整数或布尔值数组。...传统上我们用矩形的行和列表示一个二维数组或矩阵,其中沿着0轴的方向被穿过的称作行,沿着1轴的方向被穿过的是列。...基本的切片使用切片对象或整数。例如,A[:]和M[:]的求值将表现得和Python索引很相似。然而要注意很重要的一点就是NumPy切片数组不创建数据的副本;切片提供统一数据的视图。   ...例如,如果C是一个三维数组,C[...,1]产生一个二维的数组而C[1,:,1]产生一个一维数组。从这时开始,如果相应的矩阵切片结果是相同的话,我们将只展示数组切片的结果。

    1.2K40

    收藏 | Numpy详细教程

    花哨的索引和索引技巧 NumPy比普通Python序列提供更多的索引功能。除了索引整数和切片,正如我们之前看到的,数组可以被整数数组和布尔数组索引。...对数组和矩阵,索引都必须包含合适的一个或多个这些组合:整数标量、省略号 (ellipses)、整数列表;布尔值,整数或布尔值构成的元组,和一个一维整数或布尔值数组。...传统上我们用矩形的行和列表示一个二维数组或矩阵,其中沿着0轴的方向被穿过的称作行,沿着1轴的方向被穿过的是列。...基本的切片使用切片对象或整数。例如, A[:]和 M[:]的求值将表现得和Python索引很相似。然而要注意很重要的一点就是NumPy切片数组不创建数据的副本;切片提供统一数据的视图。...例如,如果C是一个三维数组,C[...,1]产生一个二维的数组而C[1,:,1]产生一个一维数组。从这时开始,如果相应的矩阵切片结果是相同的话,我们将只展示数组切片的结果。

    2.5K20

    如何为机器学习索引,切片,调整 NumPy 数组

    有关示例,请参阅笔者以前的文章: 如何在Python中加载机器学习数据 本节假定你已经通过不同于上述两种的其他方式加载或生成了你的数据,现在正使用 Python 列表来存储这些数据。...[11 22 33 44 55] 二维列表转换为数组 在机器学习中,更有可能产生或需要二维数据。...也许你生成了这些数据,或者使用自己的代码加载了这个数据表,现在你有一个二维列表(列表中的每一项是一个列表)。每个列表代表一个新的观察点。...[11 22] 3.数组切片 文章到现在为止似乎还挺容易; 创建数组和建立索引感觉很熟悉。 现在我们来到数组切片的部分,这部分往往是初学者面对 Python 和 NumPy 时经常产生疑问的地方。...[44 55] 二维切片 我们来看看你最有可能在机器学习中使用的两个二维切片的例子。 拆分输入输出 将加载的数据分解为输入变量(X)和输出变量(y)在机器学习中是很常见的操作。

    6.1K70

    NumPy的详细教程

    花哨的索引和索引技巧   NumPy比普通Python序列提供更多的索引功能。除了索引整数和切片,正如我们之前看到的,数组可以被整数数组和布尔数组索引。   ...对数组和矩阵,索引都必须包含合适的一个或多个这些组合:整数标量、省略号 (ellipses)、整数列表;布尔值,整数或布尔值构成的元组,和一个一维整数或布尔值数组。...传统上我们用矩形的行和列表示一个二维数组或矩阵,其中沿着0轴的方向被穿过的称作行,沿着1轴的方向被穿过的是列。...基本的切片使用切片对象或整数。例如,A[:]和M[:]的求值将表现得和Python索引很相似。然而要注意很重要的一点就是NumPy切片数组不创建数据的副本;切片提供统一数据的视图。 ...例如,如果C是一个三维数组,C[...,1]产生一个二维的数组而C[1,:,1]产生一个一维数组。从这时开始,如果相应的矩阵切片结果是相同的话,我们将只展示数组切片的结果。

    79400

    python numpy 总结

    花哨的索引和索引技巧    NumPy比普通Python序列提供更多的索引功能。除了索引整数和切片,正如我们之前看到的,数组可以被整数数组和布尔数组索引。   ...对数组和矩阵,索引都必须包含合适的一个或多个这些组合:整数标量、省略号(ellipses)、整数列表;布尔值,整数或布尔值构成的元组,和一个一维整数或布尔值数组。...传统上我们用矩形的行和列表示一个二维数组或矩阵,其中沿着0轴的方向被穿过的称作行,沿着1轴的方向被穿过的是列。...基本的切片使用切片对象或整数。例如,A[:]和M[:]的求值将表现得和Python索引很相似。然而要注意很重要的一点就是NumPy切片数组不创建数据的副本;切片提供统一数据的视图。   ...例如,如果C是一个三维数组,C[...,1]产生一个二维的数组而C[1,:,1]产生一个一维数组。从这时开始,如果相应的矩阵切片结果是相同的话,我们将只展示数组切片的结果。

    80430

    基于Jupyter快速入门Python|Numpy|Scipy|Matplotlib

    切片:除了逐个访问列表元素外,Python 还提供了一种简洁的语法来访问子列表,这被称为切片: nums = list(range(5)) # range 是一个内置函数,用于创建一个整数列表 print...数组索引Array indexing Numpy 提供了多种对数组进行索引的方法。 切片Slicing:与Python列表类似,numpy数组可以被切片。...由于数组可能是多维的,因此必须为数组的每个维度指定一个切片: import numpy as np # 创建一个 3x4 的二维数组 a = np.array([[1,2,3,4], [5,6,7,8...# 使用混合整数索引和切片会产生一个低秩数组, # 而只使用切片会产生与原始数组相同秩的数组: row_r1 = a[1, :] # 第二行的秩 1 视图 row_r2 = a[1:2, :]...整数数组索引的一个有用技巧是选择或修改矩阵中每一行的一个元素: import numpy as np # 创建一个新数组,我们将从中选择元素 a = np.array([[1,2,3], [4,5,6

    72010

    学习Numpy,看这篇文章就够啦

    按数组维数分类可分为:一维数组、二维数组、多维数组(N维数组)。 ? Numpy是最著名的 Python库之一,常用于高性能计算。Numpy提供了两种基本对象:ndarray和ufunc。...NumPy是SciPy、Pandas等数据处理或科学计算库的基础。 当然这里就有一个问题出现了,Python已有列表类型,为什么需要一个数组对象(类型)?...字符串操作 Numpy的char模块提供的字符串操作函数可以运用向量化运算来处理整个ndarray,而完成同样的任务,Python的列表则通常借助循环语句遍历列表,并对逐个元素进行相应的处理。...03 ufunc ufunc,全称通用函数(universal function),是一种能够对ndarray中所有元素进行操作的函数,而不是对ndarray对象操作。...,书中有针对性地讲解了Python和AI中必须要掌握的知识点,内容由浅入深,循序渐进。

    1.8K21

    在Python机器学习中如何索引、切片和重塑NumPy数组

    机器学习中的数据被表示为数组。 在Python中,数据几乎被普遍表示为NumPy数组。 如果你是Python的新手,在访问数据时你可能会被一些python专有的方式困惑,例如负向索引和数组切片。...在本教程中,你将了解在NumPy数组中如何正确地操作和访问数据。 完成本教程后,你将知道: 如何将你的列表数据转换为NumPy数组。 如何使用Pythonic索引和切片访问数据。...教程概述 本教程分为4个部分; 他们是: 从列表到数组 数组索引 数组切片 数组重塑 1.从列表到数组 一般来说,我建议使用Pandas或NumPy函数从文件加载数据。...有关示例,请参阅帖子: 如何在Python中加载机器学习的数据 本节假定你已经通过其他方式加载或生成了你的数据,现在使用Python列表表示它们。 我们来看看如何将列表中的数据转换为NumPy数组。...像列表和NumPy数组的结构可以被切片。这意味着该结构的一个子序列也可以被索引和检索。 在机器学习中指定输入输出变量,或从测试行分割训练行时切片是最有用的。

    19.1K90

    NumPy学习笔记—(13)

    , str, float, int] 这种灵活性是要付出代价的:要让列表能够容纳不同的类型,每个列表中的元素都必须带有自己的类型信息、引用计数器和其他的信息,一句话,里面的每个元素都是一个完整的 Python...而 Python 列表,含有一个指针指向一块连续的指针内存空间,里面的每个指针再指向内存中每个独立的 Python 对象,如我们前面看到的整数。...,你可以使用负的索引值: x1[-1] 9 x1[-2] 7 在多维数组中获取元素值,可以在中括号中使用一个索引值的元组: 多维数组的索引方式与列表的列表索引方式是不同的。...2.3.3.子数组是非副本的视图 一个非常重要和有用的概念你需要知道的就是数组的切片返回的实际上是子数组的视图而不是它们的副本。...这是 NumPy 数组的切片和 Python 列表的切片的主要区别,列表的切片返回的是副本。

    1.5K20

    数据科学 IPython 笔记本 7.4 Pandas 对象介绍

    在最基本的层面上,Pandas 对象可以认为是 NumPy 结构化数组的增强版本,其中行和列用标签而不是简单的整数索引来标识。...”中讨论 Pandas 索引和切片的一些怪异之处。...作为扩展的 NumPy 数组的DataFrame 如果Series是具有灵活索引的一维数组的模拟,则DataFrame是具有灵活行索引和灵活列名的二维数组的模拟。...因此,最好将DataFrame视为扩展的字典而不是扩展的数组,尽管两种看待这个情况的方式都是实用的。我们将在“数据索引和选择”中,探索更灵活的索引DataFrame的方法。...例如,我们可以使用标准的 Python 索引表示法来检索值或切片: ind[1] # 3 ind[::2] # Int64Index([2, 5, 11], dtype='int64') `Index

    2.3K10

    数据科学 IPython 笔记本 9.4 NumPy 数组的基础

    数组索引:访问单个元素 如果你熟悉 Python 的标准列表索引,NumPy 中的索引将会非常眼熟。...在一维数组中,可以通过在方括号中指定所需的索引(从零开始计算),来访问第i值,就像使用 Python 列表一样: x1 # array([5, 0, 3, 3, 7, 9]) x1[0] # 5...数组切片的一个重要且非常有用的事情,是它们返回视图而不是数组数据的副本。...这是 NumPy 数组切片与 Python 列表切片的不同之处:在列表中,切片是副本。...在可能的情况下,reshape方法将使用初始数组的非副本视图,但对于非连续的内存缓冲区,情况并非总是如此。 另一种常见的形状调整是将一维数组转换为二维行或列矩阵。

    1.6K20

    解决pandas.core.frame.DataFrame格式数据与numpy.ndarray格式数据不一致导致无法运算问题

    同质性:ndarray中存储的数据类型必须是相同的,通常是数值型数据。高效性:ndarray底层采用连续的内存块存储数据,并且对于数组中的每个元素,采用相同大小的内存空间。...创建ndarray在numpy中,我们可以使用多种方式来创建ndarray对象:通过Python原生列表或元组创建:使用numpy.array()函数可以从一个Python原生列表或元组创建一个ndarray...**sum()**:计算数组元素的总和。例如​​a.sum()​​可以计算数组​​a​​中元素的总和。ndrray的索引和切片ndarray支持基于索引和切片的灵活数据访问和操作。...可以使用方括号​​[]​​来访问数组的元素。下面是一些常用的索引和切片操作:整数索引:通过指定索引位置来访问数组的元素。例如​​a[0]​​可以访问数组​​a​​的第一个元素。...布尔索引:通过指定一个布尔数组来访问数组中满足某个条件的元素。例如​​a[a > 5]​​可以访问数组​​a​​中大于5的元素。花式索引:通过指定一个索引数组或整数数组来访问数组的元素。

    53420

    Python数据分析-pandas库入门

    自从2010年出现以来,它助使 Python 成为强大而高效的数据分析环境。...’,’c]是索引列表,即使它包含的是字符串而不是整数。...DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共用同一个索引)。DataFrame 中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。...,最常用的一种是直接传入一个由等长列表或 NumPy 数组组成的字典,代码示例: data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'...例如,我们可以给那个空的 “debt” 列赋上一个标量值或一组值(数组或列表形式),代码示例: frame2.debt = np.arange(6.) frame2 注意:将列表或数组赋值给某个列时,

    3.7K20

    【数据分析从入门到“入坑“系列】利用Python学习数据分析-Numpy中的索引

    基本的索引和切片 NumPy数组的索引是一个内容丰富的主题,因为选取数据子集或单个元素的方式有很多。一维数组很简单。...跟列表最重要的区别在于,数组切片是原始数组的视图。这意味着数据不会被复制,视图上的任何修改都会直接反映到源数组上。...切片索引 ndarray的切片语法跟Python列表这样的一维对象差不多: In [88]: arr Out[88]: array([ 0, 1, 2, 3, 4, 64, 64, 64, 8...注意:Python关键字and和or在布尔型数组中无效。要使用&与|。 通过布尔型数组设置值是一种经常用到的手段。..., 0. ]]) 后面会看到,这类二维数据的操作也可以用pandas方便的来做。 花式索引 花式索引(Fancy indexing)是一个NumPy术语,它指的是利用整数数组进行索引。

    1.6K20

    Numpy 修炼之道 (5)—— 索引和切片

    >>> x = np.arange(10) >>> x[2] 2 >>> x[-2] 8 与Python原生的列表、元组不同的是,Numpy数组支持多维数组的多维索引。...切片支持 可以使用切片和步长来截取不同长度的数组,使用方式与Python原生的对列表和元组的方式相同。...索引数组 Numpy数组可以被其他数组索引。对于索引数组的所有情况,返回的是原始数据的副本,而不是一个获取切片的视图。 索引数组必须是整数类型。...x[np.array([3, 3, 1, 8])] 布尔索引数组 使用(整数)索引列表时,需要提供要选择的索引列表,最后生成的结果形状与索引数组形状相同;但是在使用布尔索引时,布尔数组必须与要编制索引的数组的初始维度具有相同的形状...索引数组中的元素始终以行优先(C样式)顺序进行迭代和返回。结果也与y[np.nonzero(b)]相同。与索引数组一样,返回的是数据的副本,而不是一个获取切片的视图。

    1K60

    手撕numpy(三):切片和索引详解

    手撕numpy系列持续更新中~ 《手撕numpy(一):简单说明和创建数组的不同方式》 1、切片 1)numpy中数组切片与原生python切片的不同点 数组切片返回的是原始数组的视图,原生python...如果你能回答正确这两个问题,python切片,就没有问题了。 3)当数组是多维数组时,可以使用array[高维, 低维]的方式,按维度进行索引或切片。...2)通过整数数组进行索引(☆☆☆) 当要选取的元素不连续时,可以提供一个索引数组来选择(或修改)对应索引位置 的元素。 通过整数数组索引,【返回的是原数组的拷贝,而不是视图】。...③ 通过整数数组索引,【返回的是原数组的拷贝,而不是视图】; a = np.arange(1,21,1).reshape(5,4) display(a) b = a[[1,3]] display(b)...作用:通过布尔类型的数组进行索引是常见且实用的操作,我们通常用来进行元素选择(或过滤)操作。

    54511

    Data Science | Numpy基础(二)

    Numpy索引及切片 纠正下上一篇的错误: # 正确的导入方式 import numpy as np numpy的索引方式和Python中的列表索引相似,这里主要介绍普通数组索引/切片和布尔型数组的索引...一维数组的索引/切片 一维数组的索引和切片和Python中的列表相同,索引都是从0开始,切片都是左闭右开。...3] 多维数组的索引/切片 二维数组可以理解为两个一维数组横向堆叠在一起,所只要分别取对应索引即可。...[ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]] 10 10 [[0 1 2 3] [4 5 6 7]] [[2 3] [6 7]] 三位数组的索引、切片的取值方式相当与二维数组的进化版...10之间生成10个整数 print((np.random.randint(10,size=10))) # 在0-10之间生成包含10个元素的二维数组 print(np.random.randint(10

    84120
    领券