首页
学习
活动
专区
圈层
工具
发布

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:

17.9K21

Excel公式:提取行中的第一个非空值

标签:Excel公式,INDEX函数,MATCH函数 有时候,工作表行中的数据可能并不在第1个单元格,而我们可能会要获得行中第一个非空单元格中的数据,如下图1所示。...图1 可以使用INDEX函数/MATCH函数的组合来解决这个问题,如果找不到的话,再加上IFERROR函数来进行错误处理。...在单元格H4中输入公式: =IFERROR(INDEX(C4:G4,0,MATCH("*",C4:G4,0)),"空") 然后向下拖拉复制公式至数据单元格末尾。...公式中,使用通配符“*”来匹配第一个找到的文本,第二个参数C4:G4指定查找的单元格区域,第三个参数零(0)表示精确匹配。 最后,IFERROR函数在找不到单元格时,指定返回的值。...这里没有使用很复杂的公式,也没有使用数组公式,只是使用了常用的INDEX函数和MATCH函数组合来解决。公式很简单,只是要想到使用通配符(“*”)来匹配文本。

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

    用过Excel,就会获取pandas数据框架中的值、行和列

    在Excel中,我们可以看到行、列和单元格,可以使用“=”号或在公式中引用这些值。...返回索引列表,在我们的例子中,它只是整数0、1、2、3。...df.columns 提供列(标题)名称的列表。 df.shape 显示数据框架的维度,在本例中为4行5列。 图3 使用pandas获取列 有几种方法可以在pandas中获取列。...要获取前三行,可以执行以下操作: 图8 使用pandas获取单元格值 要获取单个单元格值,我们需要使用行和列的交集。...接着,.loc[[1,3]]返回该数据框架的第1行和第4行。 .loc[]方法 正如前面所述,.loc的语法是df.loc[行,列],需要提醒行(索引)和列的可能值是什么?

    26.8K60

    【Python环境】Python中的结构化数据分析利器-Pandas简介

    否则会报错: ValueError: arrays must all be same length 从字典的列表构建DataFrame,其中每个字典代表的是每条记录(DataFrame中的一行),字典中每个值对应的是这条记录的相关属性...dict返回的是dict of dict;list返回的是列表的字典;series返回的是序列的字典;records返回的是字典的列表 查看数据 head和tail方法可以显示DataFrame前N条和后...这通常是拿到DataFrame后的第一个命令,可以方便的了解数据内容和含义。...使用位置选取数据: df.iloc[行位置,列位置]df.iloc[1,1]#选取第二行,第二列的值,返回的为单个值df.iloc[0,2],:]#选取第一行及第三行的数据df.iloc[0:2,:]#...选取第一行到第三行(不包含)的数据df.iloc[:,1]#选取所有记录的第一列的值,返回的为一个Seriesdf.iloc[1,:]#选取第一行数据,返回的为一个Series PS:loc为location

    16K100

    【数据处理包Pandas】DataFrame数据的基本操作

    iloc索引器使用的是行和列的整数位置进行索引,因此iloc[0:4]会包括索引位置从0到3的行,不包括索引位置为4的行。...查询指定的行、列数据时,loc和iloc索引器都可以使用,行列下标的位置上都允许切片和花式索引。...区别如下: drop()方法: drop() 是 DataFrame 对象的方法,用于删除行或列,并返回一个新的 DataFrame,原始 DataFrame 不会被修改。...inplace:是否在原始 DataFrame 上直接修改,而不返回新的 DataFrame 。默认为False。 errors:如果指定的标签不存在于索引或列中,控制报错行为。...如果某行或某列中的非缺失值数量低于 thresh,则删除该行或该列。 subset:只在特定的列或行中查找缺失值并删除。可以传入一个列名或列名的列表。

    52900

    数据分析利器 pandas 系列教程(二):强大的 DataFrame

    dataframe 查询 loc[] 和 iloc[] 看过 上一篇文章 的读者应该知道,iloc[] 的 i 是 integer 的意思,意味着 iloc[] 只能通过位置查询,而 loc[] 可以通过行...而用 iloc[],对应的代码如下: df.iloc[0,3] = 100 print(df,'\n') iloc[] 是根据位置查询的,和行索引、列索引没有一点儿关系,这也是我为什么事先修改行索引的缘故...,方便对比iloc[]和loc[]的第一个参数信息。...这里我纠正一下我上篇文章中的错误之处:series.values 或 series.unique() 返回的并不是列表,虽然打印结果像列表(因为对 __str__()函数进行了重载),但实际上却是 ndarray...注意 apply() 函数是有返回值的,并且是要用 df['grade'] 接收而不是 df,否则整个 dataframe 只会剩下 grade 这一列。

    1.4K30

    numpy与pandas

    (a) # a矩阵中所有元素中位数np.cumsum(a) # a矩阵中累加,新矩阵第一个位置是原来的值,第二个是原来第一个加原来第二个,新第三个=原第一+原第二+原第三,以此类推np.cumsum(a...# 列的名字df.values # df中的值,得到的是ndarray类型的值df.describe() # 默认是描述数字类型的属性,目的在于观察这一系列数据的范围、大小、波动趋势等等(只运算矩阵)...列的数据df.loc['20130102',['a','b']] # 选择20130102的行,列为a、b的数据# iloc根据位置选择df.iloc[3] # 第三行(从0开始第三行)df.iloc[...(np.random.random(6,4),index=dates,columns=['a','b','c','d'])df.iloc[2,2] = 1 # 第二行第二列的值改为1(从0开始)df.iloc...# outer: 集合两个 df 所有 的 key# inner: 集合两个 df 同时拥有 的 key(默认) # left: 仅考虑左边 df 所有 的 key# right: 仅考虑右边 df 所有

    59610

    手把手教你做一个“渣”数据师,用Python代替老情人Excel

    3、导入表格 默认情况下,文件中的第一个工作表将按原样导入到数据框中。 使用sheet_name参数,可以明确要导入的工作表。文件中的第一个表默认值为0。...5、略过行和列 默认的read_excel参数假定第一行是列表名称,会自动合并为DataFrame中的列标签。...5、返回到DataFrame ? 6、查看DataFrame中的数据类型 ?...3、查看特定行 这里使用的方法是loc函数,其中我们可以指定以冒号分隔的起始行和结束行。注意,索引从0开始而不是1。 ? 4、同时分割行和列 ? 5、在某一列中筛选 ? 6、筛选多种数值 ?...默认方法; outer——当左侧或右侧DataFrame中存在匹配时,返回所有记录。 ? 以上可能不是解释这个概念的最好例子,但原理是一样的。

    9.9K30

    Python进阶之Pandas入门(五) 数据流切片,选择,提取

    我们已经学习了使用单括号进行简单的列提取,并且使用fillna()在列中输入null值。下面是您需要经常使用的其他切片、选择和提取方法。...对于行,我们有两个选项: .loc -按名称定位 .iloc-通过数值索引定位 请记住,我们仍然是通过电影标题索引的,所以为了使用.loc,我们需要给它一个电影的标题(普罗米修斯): prom =...通过数字索引提取普罗米修斯的信息: prom = movies_df.iloc[1] 可以将loc和iloc看作类似于Pythonlist切片。...与isnull()类似,它返回Series真值和假值:对于雷德利·斯科特导演的电影为真,对于非雷德利·斯科特导演的电影为假。 我们想过滤掉所有不是雷德利·斯科特导演的电影,换句话说,我们不想要假电影。...要返回条件为True的行,我们必须将这个操作传递到DataFrame: movies_df[movies_df['director'] == "Ridley Scott"] 运行结果: ?

    2K10

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

    这两项任务是有效地选择特定的和随机的行和列,以及使用replace()函数使用列表和字典替换一个或多个值。...使用.iloc[]和.loc[]选择行和列 这里我们将介绍如何使用.iloc[] & .loc[] pandas函数从数据中高效地定位和选择行。...我们将使用iloc[]作为索引号定位器,使用loc[]作为索引名定位器。 在下面的例子中,我们选择扑克数据集的前500行。首先使用.loc[]函数,然后使用.iloc[]函数。...所以最好使用.iloc[],因为它更快,除非使用loc[]更容易按名称选择某些列。 替换DF中的值 替换DataFrame中的值是一项非常重要的任务,特别是在数据清理阶段。...如果数据很大,需要大量的清理,它将有效的减少数据清理的计算时间,并使pandas代码更快。 最后,我们还可以使用字典替换DataFrame中的单个值和多个值。

    1.4K30

    Python中的数据处理利器

    print(df['title'][0]) # title列,不包括表头的第一个单元格 # 3.读取多列数据print(df[["title", "actual"]]) 3.按行读取数据 import...对象,多维数据结构print(df) # 1.读取一行数据# 不包括表头,第一个索引值为0# 获取第一行数据,可以将其转化为list、tuple、dictprint(list(df.iloc[0]))...# 2.读取某一个单元格数据# 不包括表头,指定行索引和列索引(或者列名)print(df.iloc[0]["l_data"]) # 指定行索引和列名print(df.iloc[0][2])...# 指定行索引和列索引 # 3.读取多行数据print(df.iloc[0:3]) 4.iloc和loc方法 import pandas as pd # 读excel文件df = pd.read_excel...('lemon_cases.xlsx', sheet_name='multiply') # 返回一个DataFrame对象,多维数据结构print(df) # 1.iloc方法# iloc使用数字索引来读取行和列

    2.6K20

    十分钟入门Pandas

    的字典; 关键点 异构数据; 大小可变; 数据可变; 功能特点 潜在的类是不同类型; 大小可变; 标记轴(行和列); 可对行和列执行算术运算; Panel 定义 三维,大小可变的数组; 关键点...(),为DataFrame中的每一行返回一个产生一个命名元祖的迭代器,元祖的第一个元素将是行的相应索引值,剩余的值是行值 print('itertuples:') for row in dataFrame.itertuples...# 9、replace(a,b) 将值a替换为值b。 # 10、repeat(value) 重复每个元素指定的次数。 # 11、count(pattern) 返回模式中每个元素的出现总数。...# 17、islower() 检查系列/索引中每个字符串中的所有字符是否小写,返回布尔值 # 18、isupper() 检查系列/索引中每个字符串中的所有字符是否大写,返回布尔值 # 19、isnumeric...() 检查系列/索引中每个字符串中的所有字符是否为数字,返回布尔值。

    4.4K30

    DataFrame和Series的使用

    DataFrame和Series是Pandas最基本的两种数据结构 可以把DataFrame看作由Series对象组成的字典,其中key是列名,值是Series Series和Python...,列索引分别为姓名,职业和年龄 pd.DataFrame() 默认第一个参数放的就是数据 - data 数据 - columns 列名 - index 行索引名 pd.DataFrame(data...3.可以通过 index 和 values属性获取行索引和值 first_row.values # 获取Series中所有的值, 返回的是np.ndarray对象 first_row.index #...传入的是索引的序号,loc是索引的标签 使用iloc时可以传入-1来获取最后一行数据,使用loc的时候不行 loc和iloc属性既可以用于获取列数据,也可以用于获取行数据 df.loc[[行],[列]...[:,[0,2,4,-1]] df.iloc[:,0:6:2] # 所有行, 第0 , 第2 第4列 可以通过行和列获取某几个格的元素 分组和聚合运算 先将数据分组 对每组的数据再去进行统计计算如

    89710

    十分钟入门 Pandas

    series的字典; 关键点 异构数据; 大小可变; 数据可变; 功能特点 潜在的类是不同类型; 大小可变; 标记轴(行和列); 可对行和列执行算术运算; Panel 定义 三维,大小可变的数组...(),为DataFrame中的每一行返回一个产生一个命名元祖的迭代器,元祖的第一个元素将是行的相应索引值,剩余的值是行值 print('itertuples:') for row in dataFrame.itertuples...# 9、replace(a,b) 将值a替换为值b。 # 10、repeat(value) 重复每个元素指定的次数。 # 11、count(pattern) 返回模式中每个元素的出现总数。...# 17、islower() 检查系列/索引中每个字符串中的所有字符是否小写,返回布尔值 # 18、isupper() 检查系列/索引中每个字符串中的所有字符是否大写,返回布尔值 # 19、isnumeric...() 检查系列/索引中每个字符串中的所有字符是否为数字,返回布尔值。

    4.1K30

    妈妈再也不用担心我忘记pandas操作了

    df.tail(n) # 查看DataFrame对象的最后n行 df.shape() # 查看行数和列数 df.info() # 查看索引、数据类型和内存信息 df.describe()# 查看数值型列的汇总统计...s.value_counts(dropna=False) # 查看Series对象的唯一值和计数 df.apply(pd.Series.value_counts) # 查看DataFrame对象中每一列的唯一值和计数...'index_one'] # 按索引选取数据 df.iloc[0,:] # 返回第一行 df.iloc[0,0] # 返回第一列的第一个元素 数据统计: df.describe() # 查看数据值列的汇总统计...df.mean() # 返回所有列的均值 df.corr() # 返回列与列之间的相关系数 df.count() # 返回每一列中的非空值的个数 df.max() # 返回每一列的最大值 df.min...() # 返回每一列的最小值 df.median() # 返回每一列的中位数 df.std() # 返回每一列的标准差 数据合并: df1.append(df2) # 将df2中的行添加到df1的尾部

    2.6K31

    建议收藏:12个Pandas数据处理高频操作

    简单说说 总结分享 > 1 统计一行/一列数据的负数出现的次数 > 2 让dataframe里面的正数全部变为0 > 3 统计某列中各元素出现次数 > 4 修改表头和索引 > 5 修改列所在位置insert...拷贝 > 12 对于列/行的操作 简单说说 Panda是一个快速、强大、灵活且易于使用的开源数据分析和操作工具,在Python环境下,我们可以通过pip直接进行安装。...> 2 让dataframe里面的正数全部变为0 # 直接了当 df[df>0] = 0 df > 3 统计某列中各元素出现次数 默认情况,直接统计出指定列各元素值出现的次数。...> 12 对于列/行的操作 删除指定行/列 # 行索引/列索引 多行/多列可以用列表 # axis=0表示行 axis=1表示列 inplace是否在原列表操作 # 删除df中的c列 df.drop(...'c', axis=1, inplace=True) df 取出指定列/行 # 不知道列名,取出表格最后两列 df3 = df.iloc[:, -2:] # 知道列名,取出name和A两列 df4

    3.1K20

    数据处理利器pandas入门

    想入门 Pandas,那么首先需要了解Pandas中的数据结构。因为Pandas中数据操作依赖于数据结构对象。Pandas中最常用的数据结构是 Series 和 DataFrame。...data[['date', 'hour', 'type', '1001A']] # 获取四列所有行数据,仍为DataFrame data[0:5] # 选择所有列前5行数据,仅包括索引0-4行 超纲题...单个整数 data.iloc[0] # 返回第1行的所有列,结果为Series 整数数组 data.iloc[[0,2,4,6,8], [0,1,2,3]] 整数切片 data.iloc[0:10,...可调用函数 传入可调用函数给 .iloc,函数返回值应为:单个整数,整数数组,数组切片或者逻辑数组。...,idx['1001A', ['AQI', 'PM10', 'PM2.5']] 表示 data 中的指定列,如果将 idx 看作新的 DataFrame,那么'1001A'则是 idx 中的行,['AQI

    4.3K30
    领券