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

数据分析索引总结(上)Pandas单级索引

Datawhale干货 作者:闫钟峰,Datawhale优秀学习者 寄语:本文对单级索引中的loc、iloc、[]三种方法进行了详细的阐述。...和iloc的长处在于, 可以同时对列和行进行切片 df['Height'].head() 更简洁的使用列名标签索引的方式 df.Height.head() ④ 多列索引 df.loc[:,['Height...---这是list里所没有的 df.loc[:,'Height':'Math'].head() 还可以使用iloc的方式进行切片, 这时候传入的应该是默认整数索引, 从0开始, 并且切片的结尾是不包含的...,loc中能传入的只有布尔列表和索引子集构成的列表,只要把握这个原则就很容易理解上面那些操作。...)].head() loc和[]中相应位置都能使用布尔列表选择: 如果不加values就会索引对齐发生错误,Pandas中的索引对齐是一个重要特征,很多时候非常使用。

5.2K40

pandas学习-索引-task13

** loc索引器 前面讲到了对 DataFrame 的列进行选取,下面要讨论其行的选取。对于表而言,有两种索引器,一种是基于 元素 的 loc 索引器,另一种是基于 位置 的 iloc 索引器。...'School':'Gender'] 需要注意的是,如果 DataFrame 使用整数索引,其使用整数切片的时候和上面字符串索引的要求一致,都是 元素 切片,包含端点且起点、终点不允许有重复值。...iloc索引器 iloc 的使用与 loc 完全类似,只不过是针对位置进行筛选,在相应的 * 位置处一共也有五类合法对象,分别是:整数、整数列表、整数切片、布尔列表以及函数,函数的返回值必须是前面的四类合法对象中的一个...,即使在索引不重复的时候,也只能对元组整体进行切片,而不能对每层进行切片,也不允许将切片和布尔列表混合使用,引入 IndexSlice 对象就能解决这个问题。...=lambda x:next(new_values),level=2) 若想要对某个位置的元素进行修改,在单层索引时容易实现,即先取出索引的 values 属性,再给对得到的列表进行修改,最后再对 index

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

    访问和提取DataFrame中的元素

    索引运算符 这里的索引运算符,有两种操作方式 对列进行操作,用列标签来访问对应的列 对行进行切片操作 列标签的用法,支持单个或者多个列标签,用法如下 # 单个列标签 >>> df['A'] r1 -0.220018...r2 -1.416611 r3 -0.640207 r4 -2.254314 Name: A, dtype: float64 # 当然,你可以在列对应的Series对象中再次进行索引操作,访问对应元素...-1.416611 r3 -0.640207 r4 -2.254314 对于标签,支持切片操作,和python内置的切片规则不一样,loc的切片包含了终止点,用法如下 >>> df.loc['r1':...针对访问单个元素的常见,pandas推荐使用at和iat函数,其中at使用标签进行访问,iat使用位置索引进行访问,用法如下 >>> df.at['r1', 'A'] -0.22001819046457136...>>> df.iat[0, 0] -0.22001819046457136 pandas中访问元素的具体方法还有很多,熟练使用行列标签,位置索引,布尔数组这三种基本的访问方式,就已经能够满足日常开发的需求了

    4.4K10

    Python 数据处理:Pandas库的使用

    计算并集 isin 计算一个指示各值是否都包含在参数集合中的布尔型数组 delete 删除索引i处的元素,并得到新的Index drop 删除传入的值,并得到新的Index insert 将元素插入到索引...Python切片运算不同,其末端是包含的: print(obj['b':'c']) 用切片可以对Series的相应部分进行设置: obj['b':'c'] = 5 print(obj) 用一个值或序列对...向[ ]传递单一的元素或列表,就可选择列。...下表对DataFrame进行了总结: 类型 描述 df[val] 从DataFrame选取单列或一组列;在特殊情况下比较便利:布尔型数组(过滤行)、切片(行切片)、或布尔型DataFrame(根据条件设置值...df1) print(df2) print(df1 - df2) ---- 2.7 在算术方法中填充值 在对不同索引的对象进行算术运算时,你可能希望当一个对象中某个轴标签在另一个对象中找不到时填充一个特殊值

    22.8K10

    盘一盘 Python 系列 4 - Pandas (上)

    3 数据表的索引和切片 由于索引/切片 Series 跟 numpy 数组很类似,由于 Panel 在未来会被废掉,因此本节只专注于对 DataFrame 做索引和切片。...来切片单列 用 [] 来切片单列或多列 基于标签的 loc 基于位置的 iloc 切片 index: 用 [] 来切片单行或多行 基于标签的 loc 基于位置的 iloc 切片 index 和...情况 1 - df.at['idx_i', 'attr_j'] 情况 2 - df.iat[i, j] Python 里的中括号 [] 会代表很多意思,比如单元素索引,多元素切片,布尔索引等等,因此让...(Hint: 看看两组里冒号 : 在不同位置,再想想 DataFrame 每一行和每一列中数据的特点) 布尔索引 在〖数组计算之 NumPy (上)〗提过,布尔索引就是用一个由布尔类型值组成的数组来选择元素的方法...下面看看如何进行「多层索引」的操作吧。 在第一层 columns 的 ‘公司数据’ 和第二层 columns 的 ‘行业’ 做索引,得到一个含两层 index 的 Series。

    6.3K52

    Pandas 2.2 中文官方教程和指南(十一·二)

    这种用法 不是 沿索引的整数位置。)。 标签列表或数组 ['a', 'b', 'c']。 使用标签 'a':'f' 的切片对象(请注意,与通常的 Python 切片相反,在索引中同时包括起始和停止点!...因此,根据上述,我们使用[]进行最基本的索引: In [4]: s = df['A'] In [5]: s[dates[5]] Out[5]: -0.6736897080883706 您可以将列的列表传递给...### 使用标签切片 使用切片时,如果索引中同时存在起始和停止标签,则返回介于两者之间(包括它们)的元素: In [62]: s = pd.Series(list('abcde'), index=[0,...一个带有整数1:7的切片对象。 一个布尔数组。 一个callable,请参见通过可调用进行选择。 一个行(和列)索引的元组,其元素是上述类型之一。...int64 使用 isin 进行索引 考虑 Series 的 isin() 方法,它返回一个布尔向量,其中 Series 元素存在于传递的列表中的位置为真。

    25210

    利用NumPy和Pandas进行机器学习数据处理与分析

    本文将介绍Numpy的基本语法,包括数组的创建、索引和切片、数学运算、广播和聚合等功能,以帮助读者快速上手和熟练使用Numpy进行数值计算。...它类似于Python中的列表或数组,但提供了更多的功能和灵活性。我们可以使用Series来存储和操作单个列的数据。...字典的键表示列名,对应的值是列表类型,表示该列的数据。我们可以看到DataFrame具有清晰的表格结构,并且每个列都有相应的标签,方便阅读访问和筛选数据我们可以使用索引、标签或条件来访问和筛选数据。...例如,要访问DataFrame中的一列数据,可以使用列名:# 访问列print(df['Name'])运行结果如下要访问DataFrame中的一行数据,可以使用iloc和loc方法:# 访问行print...(df.iloc[0]) # 根据索引访问print(df.loc[0]) # 根据标签访问运行结果如下要根据条件筛选数据,可以使用布尔索引:要根据条件筛选数据,可以使用布尔索引:# 筛选数据filtered_df

    28320

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

    一、数据选择 1.NumPy的数据选择 NumPy数组索引所包含的内容非常丰富,有很多种方式选中数据中的子集或者某个元素。...而在选择行和列的时候可以传入列表,或者使用冒号来进行切片索引。...关键技术: 二维数组索引语法总结如下: [对行进行切片,对列的切片] 对行的切片:可以有start:stop:step 对列的切片:可以有start:stop:step import pandas...函数语法为: .iloc[整数、整数列表、整数切片、布尔列表以及函数]。[ ]里面的使用方法同.loc[ ]方法。...代码和输出结果如下所示: (3)使用“how”参数合并 关键技术:how参数指定如何确定结果表中包含哪些键。如果左表或右表中都没有出现组合键,则联接表中的值将为NA。

    19310

    python数据分析——数据预处理

    有关更多详细信息,请参阅pandas文档中关于interpolate方法的说明。 示例一 【例】使用近邻填补法,即利用缺失值最近邻居的值来填补数据,对df数据中的缺失值进行填补,这种情况该如何实现?...分组处理:使用.groupby()方法可以按照指定的列对DataFrame进行分组,并进行相关的处理。...需要注意的是,insert()方法会改变原始列表,而不是创建一个新的列表。如果希望在不改变原始列表的情况下插入元素,可以使用切片和拼接操作来实现。...最后,我们打印修改后的列表,它包含了添加的元素。 iloc() 在Python中,iloc()函数是Pandas库中的一个用于根据索引位置选取数据的函数。...可以使用单个整数、整数切片或整数列表作为索引位置。

    13910

    Python数据分析-pandas库入门

    Series 中的单个或一组值,代码示例: obj2[['a', 'b', 'c']] obj2['a']=2 obj2[['a', 'b', 'c']] [‘a’,’b’,’c]是索引列表,即使它包含的是字符串而不是整数...使用 NumPy 函数或类似 NumPy 的运算(如根据布尔型数组进行过滤、标量乘法、应用数学函数等)都会保留索引值的链接,代码示例: obj2*2 np.exp(obj2) 还可以将 Series...DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共用同一个索引)。DataFrame 中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。...,代码示例: pd.DataFrame(data,columns=['state','year','pop']) 如果传入的列在数据中找不到,就会在结果中产生缺失值,代码示例: frame2 = pd.DataFrame...ndarray ''' 4 ''' print(df.iloc[3:5,1:3]) # 不包含末尾5或3,同列表切片 ''' B C 2019-03-28 13 14

    3.7K20

    Python|Pandas的常用操作

    [0:3] # 按照索引名称切片行数据(首尾都可以获取) df1['20200501':'20200503'] 05 按标签选择数据 # 提取某行数据 df1.loc[dates[0]] # 按照标签选择多列数据...df1.loc[:, ['A', 'B']] # 使用切片获取部分数据(也可以获取一个数值) df1.loc['20200502':'20200504', ['A', 'B']] 06 按位置选择数据...# 使用索引值位置选择 df1.iloc[3] # 使用切片的方式批量选择 df1.iloc[3:5, 0:2] # 使用索引值位置列表选择 df1.iloc[[1, 2, 4], [0, 2]]...[df2.E == 'test'] # 删除某列包含特殊字符的行 df2[~df2.E.str.contains('te')] # 取包含某些字符的记录 df2[df2.E.str.contains...('B'))) 13 神奇的apply函数 apply()函数会遍历每一个元素,对元素运行指定的function,具体的用法如下所示: # 进行矩阵的平方运算 matrix = [[1, 2, 3]

    2.1K40

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

    2.3.3 使用布尔索引访问元素 2.3.4 使用切片访问元素 2.4 数组运算 2.4.1 形状相同的数组运算 2.4.2 数组与常量运算 2.5 Numpy的约减即操作 2.5.1 约减操作 2.5.2...np.arange(1, 10).reshape((3, 3)) print(array_2d[[0, 2]]) # 访问索引为[0, 2]的元素 2.3.3 使用布尔索引访问元素 布尔索引指以布尔值组成的数组或列表为索引...当使用布尔索引访问数组时,会将布尔索引对应的数组或列表的元素作为索引,以获取索引为True时对应位置的元素。...# 顺序可变 print(df.iloc[1:3]) print(df.iloc[::2]) print('切片索引') # 切片索引 # 末端不包含 输出为: 4....使用索引对象操作数据 使用单层索引访问数据 无论是创建Series类对象还是创建DataFrame类对象,根本目的在于对Series类对象或DataFrame类对象中的数据进行处理,但在处理数据之前,需要先访问

    3.1K20

    Pandas部分应掌握的重要知识点

    索引器中括号内行列下标的位置上都允许使用切片和花式索引,下例中行使用切片,列使用花式索引。 注意:下面的3:5表示下标为3和4的两行,[0,2]表示下标为0和2的两列。...索引器中括号内行列下标的位置上都允许使用切片和花式索引,下例中行使用切片,列使用花式索引。...team.loc[3:4,["name","Q1"]] 特别提醒,虽然上述两种通用写法的输出相同,但原理不同: ① iloc索引器的切片不包含终值,所以team.iloc[3:5,[0,2]]中不包含下标为...5的行; ② loc索引器的切片却包含终值,所以team.loc[3:4,[0,2]]中却包含行标签为4的行; ③ 同样是整数,在iloc索引器中将被解读为行/列下标,而在loc索引器中将被解读为行...df.loc[len(df),:]=['Mike','Guarding','M',2000] print("在尾部增加一行之后:") df 3、修改一列数据 修改一列数据仍采用对列进行赋值操作的形式。

    4800

    【项目实战】自监控-06-DataFrame行列操作(上篇)

    今天讲讲如何从DataFrame获取需要到的行或者列 主要涉及:loc 今日歌曲: Part 1:构建一个DataFrame 一个DataFrame可以看成一个二维表格,不过这个二维表格有行标题也有列标题...Part 2:行操作 直接使用loc属性 注意loc后紧跟一个[行,列],中括号中放入拟需要的行索引和列索引 若不对列进行筛选,则表示列信息的区域可以省略 若多于1行,可以使用一个列表表示对应的行信息,...也可以使用切片操作 df1 = df.loc[["x", "q"]] print("\ndf1= \n", df1)df11 = df.loc["x":"z"] print("\ndf11= \n",...Part 3:列操作 使用loc属性 [:,列]其中的行使用:即可,即保持所有行信息,只筛选列信息 若多于1列,可以使用一个列表表示对应的列信息,也可以使用切片操作 df2 = df.loc[:, ["...Part 4:行列混合操作 就是以上两种的综合,[行,列]对应的行列信息都需要 当多于1行或者1列的时候,可以使用列表或者切片操作 df3 = df.loc[["x", "q"], ["a", "d"]

    33710

    Pandas和Numpy的视图和拷贝

    的z列数组设置为0,view_of_df也跟着变化,但是copy_of_df中的元素没有修改。...copy_of_df.index is df.index False >>> copy_of_df.columns is df.columns False 索引和切片 Numpy中的一维数组的切片方法...通过这种方式,您保留了副本,并从内存中删除了原始数组,可以尽可能节省内存。 切片返回的是视图,但是,索引则不同了。下面演示,使用列表作为索引,得到了原始数组的拷贝。...拷贝之后,c和arr是两个相互独立的数组。下面的例子中,列表中是布尔值,还是以这个列表为下标,获得True所对应的索引的值。所返回的值,还是原数组的拷贝。...以上以一维数组为例,说明了切片和通过索引(下标)返回的不同类型对象,前者是试图,后者是拷贝。那么,如果是多维数组会如何?与一维的情况一样。

    3.1K20

    Pandas库的基础使用系列---获取行和列

    前言我们上篇文章简单的介绍了如何获取行和列的数据,今天我们一起来看看两个如何结合起来用。获取指定行和指定列的数据我们依然使用之前的数据。...我们先看看如何通过切片的方法获取指定列的所有行的数据info = df.loc[:, ["2021年", "2017年"]]我们注意到,行的位置我们使用类似python中的切片语法。...我们试试看如何将最后一列也包含进来。info = df.iloc[:, [1, 4, -1]]可以看到也获取到了,但是值得注意的是,如果我们使用了-1,那么就不能用loc而是要用iloc。...如果要使用索引的方式,要使用下面这段代码df.iloc[2, 2]是不是很简单,接下来我们再看看如何获取多行多列。为了更好的的演示,咱们这次指定索引列df = pd.read_excel(".....通常是建议这样获取的,因为从代码的可读性上更容易知道我们获取的是哪一行哪一列。当然我们也可以通过索引和切片的方式获取,只是可读性上没有这么好。

    63700

    Pandas入门教程

    包括行标签(index)和列标签(columns),即行名称和列名称,可以使用df.loc[index_name,col_name],选择指定位置的数据,其它的用法有: 1....标签的切片对象 data.loc[:,['name','salary']][:5] iloc iloc是基于位置的索引,利用元素在各个轴上的索引序号进行选择,序号超出范围会产生IndexError,...使用整数 data.iloc[2] # 取出索引为2的那一行 2. 使用列表或数组 data.iloc[:5] 3....使用传递的键作为最外层构建分层索引。如果通过了多个级别,则应包含元组。 levels: 序列列表,默认无。用于构建 MultiIndex 的特定级别(唯一值)。否则,它们将从密钥中推断出来。...names: 列表,默认无。生成的分层索引中级别的名称。 verify_integrity: 布尔值,默认为 False。检查新的串联轴是否包含重复项。相对于实际的数据串联,这可能非常昂贵。

    1.1K30

    python数据分析万字干货!一个数据集全方位解读pandas

    使用索引 使用.loc与.iloc 查询数据集 分类和汇总数据 对列进行操作 指定数据类型 数据清洗 数据可视化 一、安装与数据介绍 pandas的安装建议直接安装anaconda,会预置安装好所有数据分析相关的包...我们知道Series对象在几种方面与列表和字典的相似之处。也就意味着我们可以使用索引运算符。现在我们来说明如何使用两种特定于pandas的访问方法:.loc和.iloc。...所以我们再对列使用索引操作符,对行使用访问方法.loc和.iloc。...五、查询数据集 现在我们已经了解了如何根据索引访问大型数据集的子集。现在,我们继续基于数据集列中的值选择行以查询数据。例如,我们可以创建一个DataFrame仅包含2010年之后打过的比赛。...接下来要说的是如何在数据分析过程的不同阶段中操作数据集的列。

    7.4K20
    领券