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

pandas -为什么iloc和loc的输出不同

pandas是一个开源的数据分析和数据处理库,常用于处理结构化数据。在pandas中,iloc和loc是两个常用的索引方法,用于访问和操作DataFrame中的数据。

  1. iloc:iloc是基于整数位置进行索引的方法。它使用整数索引来选择DataFrame中的行和列。例如,df.iloc[0]表示选择第一行的数据,df.iloc[:, 0]表示选择第一列的数据。iloc的输出结果是根据整数位置进行选择的数据。
  2. loc:loc是基于标签进行索引的方法。它使用标签索引来选择DataFrame中的行和列。例如,df.loc[0]表示选择标签为0的行的数据,df.loc[:, 'column_name']表示选择名为'column_name'的列的数据。loc的输出结果是根据标签进行选择的数据。

iloc和loc的输出不同的原因是它们使用不同的索引方式。iloc使用整数位置索引,而loc使用标签索引。因此,当DataFrame的索引是整数位置时,iloc和loc的输出结果是相同的;当DataFrame的索引是标签时,iloc和loc的输出结果可能不同。

举例来说,假设有一个DataFrame df,其中索引为整数位置[0, 1, 2, 3],标签为['A', 'B', 'C', 'D'],列名为['col1', 'col2']。使用df.iloc[0]会选择第一行的数据,输出结果是根据整数位置索引的数据。而使用df.loc[0]会选择标签为0的行的数据,输出结果是根据标签索引的数据。因此,iloc和loc的输出结果不同。

对于pandas的使用,腾讯云提供了云原生数据库TDSQL、云数据库CDB、云数据仓库CDW等产品,可以帮助用户存储和处理大规模的结构化数据。您可以访问腾讯云官网了解更多关于这些产品的详细信息和使用案例。

参考链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

pandas中的loc和iloc_pandas loc函数

目录 pandas中索引的使用 .loc 的使用 .iloc的使用 .ix的使用 ---- pandas中索引的使用 定义一个pandas的DataFrame对像 import pandas as pd...的使用 .loc[],中括号里面是先行后列,以逗号分割,行和列分别是行标签和列标签,比如我要得到数字5,那么就就是: data.loc["b","B"] 因为行标签为b,列标签为B,同理,那么4就是...那么,我们会想,那我们只知道要第几行,第几列的数据呢,这该怎么办,刚好,.iloc就是干这个事的 .iloc的使用 .iloc[]与loc一样,中括号里面也是先行后列,行列标签用逗号分割,与loc不同的之处是...,.iloc 是根据行数与列数来索引的,比如上面提到的得到数字5,那么用iloc来表示就是data.iloc[1,1],因为5是第2行第2列,注意索引从0开始的,同理4就是data.iloc[0,1],...与loc不同的是loc前闭后闭,以及loc是根据行列标签,而.iloc是根据行数与列数 .ix的使用 .ix我发现,上面两种用法他都可以,它既可以根据行列标签又可以根据行列数,比如拿到5 data.ix

1.2K10

pandas.DataFrame()中的iloc和loc用法

简单的说: iloc,即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5] loc,则可以使用column名和index名进行定位,如...: df.loc[‘image1’:‘image10’, ‘age’:‘score’] 实例: import numpy as np import pandas as pd from pandas...0.508066 D 0.200248 0.192892 0.293228 ''' # 过滤 列 print(sub_df.iloc[1:2, 0:2]) # 和python的用法一样,但是 该方法...是 基于 index 信息的 ''' c1 c3 B 0.012703 0.048813 ''' # loc 方法, 通过label 名称来过滤 print(sub_df.loc['A':'B', 'c1...但是loc按照label标签取值则不是这样的。如:[‘A’:‘C’] A,B,C 都会取出来。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

2.5K30
  • pandas中的loc和iloc_pandas获取指定数据的行和列

    大家好,又见面了,我是你们的朋友全栈君 实际操作中我们经常需要寻找数据的某行或者某列,这里介绍我在使用Pandas时用到的两种方法:iloc和loc。...目录 1.loc方法 (1)读取第二行的值 (2)读取第二列的值 (3)同时读取某行某列 (4)读取DataFrame的某个区域 (5)根据条件读取 (6)也可以进行切片操作 2.iloc方法 (1)...读取第二行的值 (2)读取第二行的值 (3)同时读取某行某列 (4)进行切片操作 ---- loc:通过行、列的名称或标签来索引 iloc:通过行、列的索引位置来寻找数据 首先,我们先创建一个...,"D","E"]] 结果: 2.iloc方法 iloc方法是通过索引行、列的索引位置[index, columns]来寻找值 (1)读取第二行的值 # 读取第二行的值,与loc方法一样 data1...和columns进行切片操作 # 读取第2、3行,第3、4列 data1 = data.iloc[1:3, 2:4] 结果: 注意: 这里的区间是左闭右开,data.iloc[1:

    10.1K21

    Pandas中高效的选择和替换操作总结

    Pandas是数据操作、分析和可视化的重要工具,有效地使用Pandas可能具有挑战性,从使用向量化操作到利用内置函数,这些最佳实践可以帮助数据科学家使用Pandas快速准确地分析和可视化数据。...例如,2011年,Chloe 这个名字在所有亚裔和太平洋岛民女性新生儿中排名第二。 下面我们开始进入正题 为什么需要高效的代码? 高效代码是指执行速度更快、计算容量更低的代码。...,但是在执行效率方面有了很大的不同。...使用.iloc[]和.loc[]选择行和列 这里我们将介绍如何使用.iloc[] & .loc[] pandas函数从数据中高效地定位和选择行。...[]函数可以更快地选择行和列并且它比loc[]要快,但是loc[] 提供了一些更方便的功能,如果速度不是优先考虑或者iloc[]实现的比较麻烦的话,再考虑使用loc[]。

    1.2K30

    超全的pandas数据分析常用函数总结:下篇

    #pandas.DataFrame.loc pandas.DataFrame.iloc() 允许输入的值:整数5、整数列表或数组[4,3,0]、整数的切片对象1:7 更多关于pandas.DataFrame.iloc...6.2.2 用loc取不连续的多行 提取索引值为2和索引值为4的所有行,即提取第3行和第5行。 data.loc[[2,4]] 输出结果: ?...6.2.3 用loc取具体值 data.loc[6,"id"] 输出结果:107 6.2.4 用iloc取连续的多行 提取第3行到第6行 data.iloc[2:6] 输出结果: ?...6.2.5 用iloc取连续的多行和多列 提取第3行到第6行,第4列到第5列的值,取得是行和列交叉点的位置。 data.iloc[2:6,3:5] 输出结果: ?...6.2.6 用iloc取不连续的多行和多列 提取第3行和第6行,第4列和第5列的交叉值 data.iloc[[2,6],[3,5]] 输出结果: ?

    5K20

    超全的pandas数据分析常用函数总结:下篇

    #pandas.DataFrame.loc pandas.DataFrame.iloc() 允许输入的值:整数5、整数列表或数组[4,3,0]、整数的切片对象1:7 更多关于pandas.DataFrame.iloc...6.2.2 用loc取不连续的多行 提取索引值为2和索引值为4的所有行,即提取第3行和第5行。 data.loc[[2,4]] 输出结果: ?...6.2.3 用loc取具体值 data.loc[6,"id"] 输出结果:107 6.2.4 用iloc取连续的多行 提取第3行到第6行 data.iloc[2:6] 输出结果: ?...6.2.5 用iloc取连续的多行和多列 提取第3行到第6行,第4列到第5列的值,取得是行和列交叉点的位置。 data.iloc[2:6,3:5] 输出结果: ?...6.2.6 用iloc取不连续的多行和多列 提取第3行和第6行,第4列和第5列的交叉值 data.iloc[[2,6],[3,5]] 输出结果: ?

    3.9K20

    pandas库的简单介绍(3)

    4 pandas基本功能 4.1 重建索引(见上一篇文章) 4.2 数据选择 pandas的数据选择是十分重要的一个操作,它的操作与数组类似,但是pandas的数据选择与数组不同。...例如列表a[0, 1, 2, 3, 4]中,a[1:3]的值为1,2;而pandas中为1,2,3。 数据选择的方法:1、直接选择;2、使用loc选择数据;3、使用iloc选择数据。...进行选择:\n', frame.iloc[:, :3][frame.three > 5]) #使用iloc选择数据) 使用loc和iloc选择数据 ---- DataFrame索引选项 类型 描述...4.3 对象的相加和使用填充值算法 不同对象(Series和DataFrame)之间的算术行为是pandas提供的一项重要功能。...,有时候我们把数据输出到excel并要求排序,我们就需要用到该操作。

    1.2K10

    【Pandas】已完美解决:AttributeError: ‘DataFrame‘ object has no attribute ‘ix‘

    Pandas中,我们可以使用 .loc 或 .iloc 来替代 ix。....loc 主要用于基于标签的索引,而 .iloc 则用于基于整数位置的索引。...使用 .loc 选择行和列 # 使用.loc选择第一行和第二列('B'列) result = df.loc[0, 'B'] print(result) # 输出:4 使用 .iloc 选择行和列...0,第二列(索引为1,因为从0开始计数) print(result) # 输出:4 实战场景:选择多行和多列 假设我们要选择DataFrame的前两行和列 ‘A’ 与 ‘B’: # 使用.loc选择前两行和列...) 输出: A B 0 1 4 1 2 5 (注意:上面的切片:1实际上包括了索引为0和1的行,因为切片是左闭右开的) 五、注意事项 在编写Pandas代码时,请确保你了解你正在使用的

    1.5K10

    猿创征文|数据导入与预处理-第3章-pandas基础

    [0]) print(df.iloc[-1]) #print(df.iloc[4]) print('单位置索引\n-----') # 单位置索引 # 和loc索引不同,不能索引超出数据行数的整数位置...pandas中可以使用[]、loc、iloc、at和iat这几种方式访问Series类对象和DataFrame类对象的数据。...使用loc和iloc访问数据 pandas中也可以使用loc和iloc访问数据。...与单层索引相比,分层索引只适用于[]、loc和iloc,且用法大致相同。 使用[]访问数据 由于分层索引的索引层数比单层索引多,在使用[]方式访问数据时,需要根据不同的需求传入不同层级的索引。...使用loc和iloc访问数据 使用iloc和loc也可以访问具有分层索引的Series类对象或DataFrame类对象。

    14K20

    pandas | 如何在DataFrame中通过索引高效获取数据?

    iloc的用法几乎和loc完全一样,唯一不同的是,iloc接收的不是index索引而是行号。我们可以通过行号来查找我们想要的行,既然是行号,也就说明了固定死了我们传入的参数必须是整数。...同样iloc也支持传入多个行号。 ? iloc也支持二维索引,但是对于列,我们也必须传入整数,也就是这个列对应的列号。 ? 和loc不同,iloc的切片也是左闭右开。 ?...总结 今天主要介绍了loc、iloc和逻辑索引在pandas当中的用法,这也是pandas数据查询最常用的方法,也是我们使用过程当中必然会用到的内容。建议大家都能深刻理解,把它记牢。...很多人在学习pandas的前期遇到最多的一个问题就是会把iloc和loc记混淆,搞不清楚哪个是索引查询哪个是行号查询。...曾经原本还有一个ix方法,可以兼顾iloc和loc的功能,既可以索引查询也可以行号查询。但是可惜的是,在pandas最新的版本当中这个方法已经被废弃了。

    13.6K10

    数据分析 ——— pandas基础(三)

    接着之前的文章,在这里我们来看一些利用pandas处理文本数据,利用索引,loc, iloc,ix,属性选取数据 一、 处理文本数据 在这里我们用基本的序列、索引来进行字符串操作 先大致了解一下我们将要用到的函数...3 False dtype: bool """ 二、pandas索引,选择数据 1) loc[]函数:通过索引''index''中的具体值来去行数据。...中括号里面是先行后列,以逗号分割,行和列分别是行标签和列标签。...# loc import pandas as pd import numpy as np # pandas 索引 # loc采用,为分隔符, 分隔两个单列 df = pd.DataFrame(np.random.randn...中括号里面也是先行后列,行列标签用逗号分割,与loc不同的之处是,.iloc 是根据行数与列数来索引的。

    1.3K20

    数据整合与数据清洗

    可以直接用列名选择,也可以通过ix、iloc、loc方法进行选择行、列。 ix方法可以使用数值或者字符作为索引来选择行、列。 iloc则只能使用数值作为索引来选择行、列。...# 返回pandas序列结构的类 print(df['age']) print(df.age) print(df.ix[:, 'age']) print(df.loc[:, 'age']) # 返回pandas...ix、iloc、loc方法都可使用。 只不过ix和loc方法,行索引是前后都包括的,而列索引则是前包后不包(与列表索引一致)。 iloc方法则和列表索引一致,前包后不包。.../ 02 / 数据清洗 01 重复值处理 Pandas提供了查看和删除重复数据的方法,具体如下。...03 数据分箱 分箱法包括等深分箱(每个分箱样本数量一致)和等宽分箱(每个分箱的取值范围一致)。 其中Pandas的qcut函数提供了分箱的实现方法,默认是实现等宽分箱。

    4.6K30

    DataFrame和Series的使用

    DataFrame和Series是Pandas最基本的两种数据结构 可以把DataFrame看作由Series对象组成的字典,其中key是列名,值是Series Series和Python...loc方法传入行索引,来获取DataFrame的部分数据(一行,或多行) df.loc[0] df.loc[99] df.loc[last_row_index] iloc : 通过行号获取行数据 iloc...传入的是索引的序号,loc是索引的标签 使用iloc时可以传入-1来获取最后一行数据,使用loc的时候不行 loc和iloc属性既可以用于获取列数据,也可以用于获取行数据 df.loc[[行],[列]...] df.iloc[[行],[列]] df.loc[:,['country','year','pop']] # 获取全部的行,但每一行的列内容接受三个 df.iloc[:,[0,2,4,-1]] df.loc...[:,[0,2,4,-1]] df.iloc[:,0:6:2] # 所有行, 第0 , 第2 第4列 可以通过行和列获取某几个格的元素 分组和聚合运算 先将数据分组 对每组的数据再去进行统计计算如

    10910

    Pandas从入门到放弃

    这些基本操作都建立在Pandas的基础数据结构之上。Pandas有两大基础数据结构:Series(一维数据结构)和DataFrame(二维数据结构)。...,索引包括行索引和列索引,每列可以是不同的数据类型(String、int、bool、...)...# 选取x行A列的数据 x #0.13834995969465658 至此已经了解了df.loc[][]以及df.iloc[],我们可以进行一下对比: 1)使用.iloc访问数据的时候,可以不考虑数据的索引名...和df.iloc按照标签值去查询,这里介绍按照区间范围进行查找,例如:获取x轴上a、b的坐标 df.loc['a':'b', 'x'] # {'a':1, 'b':0} 按条件表达式查询,获取位于z轴正半轴的点的数据...2)Numpy只能存储相同类型的ndarray,Pandas能处理不同类型的数据,例如二维表格中不同列可以是不同类型的数据,一列为整数一列为字符串。

    9610

    pandas(ix & iloc &loc)区别

    loc——通过行标签索引行数据 iloc——通过行号索引行数据 ix——通过行标签或者行号索引行数据(基于loc和iloc 的混合) 举例说明: 1、分别使用loc、iloc、ix 索引第一行的数据...(基于loc和iloc 的混合) ''' data=[[1,2,3],[4,5,6]] index=['a','b']#行号 columns=['c','d','e']#列号 df=pd.DataFrame...、iloc、ix 索引第一列的数据: '''分别使用loc、iloc、ix 索引第一列的数据''' import pandas as pd data=[[1,2,3],[4,5,6]] index=['...'' 3、分别使用loc、iloc、ix 索引多行的数据: '''分别使用loc、iloc、ix 索引多行的数据''' import pandas as pd data=[[1,2,3],[4,5,6]...3 b 4 5 6 ''' 4、分别使用loc、iloc、ix 索引多列的数据: '''分别使用loc、iloc、ix 索引多列的数据''' import pandas as pd data=[[

    84240
    领券