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

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

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

63700

使用VBA删除工作表多列中的重复行

标签:VBA 自Excel 2010发布以来,已经具备删除工作表中重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。...图1 使用VBA,可以自动执行这样的操作,删除工作表所有数据列中的重复行,或者指定列的重复行。 下面的Excel VBA代码,用于删除特定工作表所有列中的所有重复行。...如果没有标题行,则删除代码后面的部分。...如果只想删除指定列(例如第1、2、3列)中的重复项,那么可以使用下面的代码: Sub DeDupeColSpecific() Cells.RemoveDuplicates Columns:=Array...(1, 2, 3), Header:=xlYes End Sub 可以修改代码中代表列的数字,以删除你想要的列中的重复行。

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

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

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

    10K21

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

    在Python中,数据存储在计算机内存中(即,用户不能直接看到),幸运的是pandas库提供了获取值、行和列的简单方法。 先准备一个数据框架,这样我们就有一些要处理的东西了。...df.columns 提供列(标题)名称的列表。 df.shape 显示数据框架的维度,在本例中为4行5列。 图3 使用pandas获取列 有几种方法可以在pandas中获取列。...图5 获取多列 方括号表示法使获得多列变得容易。语法类似,但我们将字符串列表传递到方括号中。...获取1行 图7 获取多行 我们必须使用索引/切片来获取多行。在pandas中,这类似于如何索引/切片Python列表。...要获取前三行,可以执行以下操作: 图8 使用pandas获取单元格值 要获取单个单元格值,我们需要使用行和列的交集。

    19.2K60

    Python处理疫情数据(城市编码缺失补全),让你的pandas跟上你的数据思维

    数据大致如下: - 一行记录表示,某时间点(updateTime)某地区(cityName)的各项疫情指标 - 由于网站上显示的是当前最新累计数据,因此本数据的统计指标同样是累计数值 面对几万行多列的数据...看看代码: - 行4:去重复 - 行5:分组 - 行6:取出多于1条记录的组 一看吓一跳,即使不是空的编码,竟然存在同一个名字不同编码的数据。...代码多、容易错、还执行慢! 直接来看看 pandas 的解决方式: - 行2:缺失编码的行 - 行3:存在编码的行 - 行5:把2个表,按省份关联。...- 行11:按 省份+缺失表的城市名 分组,取相似度最大记录的索引 - 行12:取出记录 直接输出到 Excel 看看: - 看最右边的列,是相似度。...可以看到,高相似度的行的匹配结果是对的 - 而最低的几个相似度的结果中,大概只有上面红框的4行记录不知道对不对。

    1K10

    数据整合与数据清洗

    每次爬虫获取的数据都是需要处理下的。 所以这一次简单讲一下Pandas的用法,以便以后能更好的使用。 数据整合是对数据进行行列选择、创建、删除等操作。...可以直接用列名选择,也可以通过ix、iloc、loc方法进行选择行、列。 ix方法可以使用数值或者字符作为索引来选择行、列。 iloc则只能使用数值作为索引来选择行、列。...选择多列。ix、iloc、loc方法都可使用。 只不过ix和loc方法,行索引是前后都包括的,而列索引则是前包后不包(与列表索引一致)。 iloc方法则和列表索引一致,前包后不包。...当然Pandas还提供了更方便的条件查询方法,比如query、between、isin、str.contains(匹配开头)。 使用query进行条件查询。.../ 02 / 数据清洗 01 重复值处理 Pandas提供了查看和删除重复数据的方法,具体如下。

    4.6K30

    python数据科学系列:pandas入门详细教程

    或字典(用于重命名行标签和列标签) reindex,接收一个新的序列与已有标签列匹配,当原标签列中不存在相应信息时,填充NAN或者可选的填充值 set_index/reset_index,互为逆操作,...检测各行是否重复,返回一个行索引的bool结果,可通过keep参数设置保留第一行/最后一行/无保留,例如keep=first意味着在存在重复的多行时,首行被认为是合法的而可以保留 删除重复值,drop_duplicates...类似的效果,二者的区别在于:merge允许连接字段重复,类似一对多或者多对一连接,此时将产生笛卡尔积结果;而concat则不允许重复,仅能一对一拼接。...info,展示行标签、列标签、以及各列基本信息,包括元素个数和非空个数及数据类型等 head/tail,从头/尾抽样指定条数记录 describe,展示数据的基本统计指标,包括计数、均值、方差、4分位数等...;sort_values是按值排序,如果是dataframe对象,也可通过axis参数设置排序方向是行还是列,同时根据by参数传入指定的行或者列,可传入多行或多列并分别设置升序降序参数,非常灵活。

    15K20

    python数据分析之处理excel

    首先引入import pandas as pd ,这个as就是为了方便少打点字起的别名,pd就是代表pandas,import numpy as np,import matplotlib as plt,...如图 这是传入一个单一列表,行和列都是从0开始,再传入一个多列数据,如图 如何获取行列索引呢,利用colums方法获取列索引,利用index方法获取行索引,如图 有三行两列 现在excel文件格式基本都是...读取的时候一般默认是读取第一个Sheet,从0计数,如图读取Sheet2 有时候文件列数特别多,我们只需要其中几列得到话,怎么办呢,这里就用一个usecols参数指定要取得列,如图所示,useclos...= 默认索引或者自定义索引 (1)空值处理 有些行某些列数据格是空的,就用方法dropna()删除这一行,但如果只想删除全空值得行,就可以加一个参数how = all即可,如图所示 (2)重复值处理...重复数据集有多条,这样就可以使用python中drop_duplicates()方法进行重复值判断并删除,默认保留第一行值,如图所示 (3)数据类型转化 pandas中的数据主要有int、float、object

    31110

    Pandas_Study02

    首先,可以通过isnull 和 notnull 方法查看有哪些NaN值,这两个方法返回的布尔值,指示该值是否是NaN值,结合sum 方法可以获取每列空值的数目以及总数。...相同的情况下,就是后一个df 接在前一个df 后面 df12 = pd.concat([df1, df2]) 当然,列标和行标不一定是对应的,这个时候两DataFrame未匹配上的label或columns...外连接,分左外连接,右外连接,全连接,左外连接是左表上的所有行匹配右表,正常能匹配上的取B表的值,不能的取空值,右外连接同理,全连接则是取左并上右表的的所有行,没能匹配上的用空值填充。...size函数则是可以返回所有分组的字节大小。count函数可以统计分组后各列数据项个数。get_group函数可以返回指定组的数据信息。而discribe函数可以返回分组后的数据的统计数据。..."|" # 查看分组后的统计数据 print dg.describe() 也支持多列分组 dg1 = df0.groupby(["fruit", "supplier"]) for n, g in dg1

    20510

    一场pandas与SQL的巅峰大战(二)

    例如我们想求出每一条订单对应的日期。需要从订单时间ts或者orderid中截取。在pandas中,我们可以将列转换为字符串,截取其子串,添加为新的列。...假设要实现筛选订单时间中包含“08-01”的订单。pandas和SQL代码如下所示,注意使用like时,%是通配符,表示匹配任意长度的字符。 ?...对于我们不关心的行,这两列的值都为nan。第三步再进行去重计数操作。...四、窗口函数 row_number hive中的row_number函数通常用来分组计数,每组内的序号从1开始增加,且没有重复值。比如我们对每个uid的订单按照订单时间倒序排列,获取其排序的序号。...小结 本文涉及的操作概括如下表所示,虽然内容没有上篇文章多,但相对难度还是比上篇高一些。 ?

    2.3K20

    盘点66个Pandas函数,轻松搞定“数据清洗”!

    今天我们重新盘点66个Pandas函数合集,包括数据预览、数值数据操作、文本数据操作、行/列操作等等,涉及“数据清洗”的方方面面。...缺失值与重复值 Pandas清洗数据时,判断缺失值一般采用isnull()方法。...df.fillna(50) 输出: Pandas清洗数据时,判断重复值一般采用duplicated()方法。如果想要直接删除重复值,可以使用drop_duplicates() 方法。...函数方法 用法释义 cat 字符串的拼接 contains 判断某个字符串是否包含给定字符 startswith/endswith 判断某个字符串是否以...开头/结尾 get 获取指定位置的字符串 len...split 分割字符串,将一列扩展为多列 strip、rstrip、lstrip 去除空白符、换行符 findall 利用正则表达式,去字符串中匹配,返回查找结果的列表 extract、extractall

    3.8K11

    Python 数据处理:Pandas库的使用

    和 Series 之间的运算 2.9 函数应用和映射 2.10 排序和排名 2.11 带有重复标签的轴索引 3.汇总和计算描述统计 3.1 相关系数与协方差 3.2 唯一值、值计数以及成员资格 ---...行也可以通过位置或名称的方式进行获取,比如用loc属性: import pandas as pd data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada'...作为一个初步示例,让我们通过标签选择一行和多列: import pandas as pd data = pd.DataFrame(np.arange(16).reshape((4, 4)),...Series的索引匹配到DataFrame的列,然后沿着行一直向下广播: print(frame - series) 如果某个索引值在DataFrame的列或Series的索引中找不到,则参与运算的两个对象就会被重新索引以形成并集...后面的频率值是每个列中这些值的相应计数。

    22.8K10

    用 Pandas 进行数据处理系列 二

    获取指定的列和行 import pandas as pd df = pd.read_csv('xxxx.xls') 获取行操作df.loc[3:6]获取列操作df['rowname']取两列df[['...()重设索引df=df.set_index(‘date’)设置 date 为索引df[:‘2013’]提取 2013 之前的所有数据df.iloc[:3,:2]从 0 位置开始,前三行,前两列,这里的数据不同去是索引的标签名称...,而是数据所有的位置df.iloc[[0,2,5],[4,5]]提取第 0、2、5 行,第 4、5 列的数据df.ix[:‘2013’,:4]提取 2013 之前,前四列数据df[‘city’].isin...= 'beijing'), ['id', 'city', 'age']].sort(['id']) 筛选后的灵气按 city 列进行计数 df.loc[(df['city'] !...4500, 4321]}) df_gb = df.groupby('Country') for index, data in df_gb: print(index) print(data) 多列分组

    8.2K30

    最全面的Pandas的教程!没有之一!

    获取 DataFrame 中的一行或多行数据 要获取某一行,你需要用 .loc[] 来按索引(标签名)引用这一行,或者用 .iloc[],按这行在表中的位置(行数)来引用。 ?...此外,你还可以制定多行和/或多列,如上所示。 条件筛选 用中括号 [] 的方式,除了直接指定选中某些列外,还能接收一个条件语句,然后筛选出符合条件的行/列。...交叉选择行和列中的数据 我们可以用 .xs() 方法轻松获取到多级索引中某些特定级别的数据。比如,我们需要找到所有 Levels 中,Num = 22 的行: ?...上面的结果中,Sales 列就变成每个公司的分组平均数了。 计数 用 .count() 方法,能对 DataFrame 中的某个元素出现的次数进行计数。 ?...除了列出所有不重复的值,我们还能用 .nunique() 方法,获取所有不重复值的个数: ? 此外,还可以用 .value_counts() 同时获得所有值和对应值的计数: ?

    26K64

    【Mark一下】46个常用 Pandas 方法速查表

    本篇文章总结了常用的46个Pandas数据工作方法,包括创建数据对象、查看数据信息、数据切片和切块、数据筛选和过滤、数据预处理操作、数据合并和匹配、数据分类汇总以及map、apply和agg高级函数的使用方法...describe显示描述性统计数据,包括集中趋势、分散趋势、形状等。...例如可以从dtype的返回值中仅获取类型为bool的列。 3 数据切片和切块 数据切片和切块是使用不同的列或索引切分数据,实现从数据中获取特定子集的方式。...常见的数据切片和切换的方式如表3所示: 表3 Pandas常用数据切分方法 方法用途示例示例说明[['列名1', '列名2',…]]按列名选择单列或多列In: print(data2[['col1','...Out: col1 col2 col3 0 2 a True 1 1 b True选择col3中值为True的所有记录多列单条件以所有的列为基础选择符合条件的数据

    4.9K20

    数据分析篇(五)

    属性: # 获取行索引 attr2.index # 获取列索引 attr2.columns # 获取值 attr2.values # 查看几行几列 attr2.shape # 查看类型 attr2.dtype...# 查看详细信息,行,列,索引,类型,内存等 attr2.info() # 快速统计均值,标准差,最大值,最小值,四分位 attr2.describe() # 当然只会统计数字类型的。...]] # 取第一列和第三列 attr4.iloc[[0,1],[0,2]] # 取第一行和第二行的第一列和第三列 # 布尔索引 # 取出年龄大于10的 attr4[attr4['age']>10] #...] # 删除存在NaN的行 attr4.deopna(axis=0) # 列就是axis = 1 # 想删除某一列全部为NaN的行 attr4.deopna(axis=0,how='all') # 只要有一个...# 平均数(age) attr4['age'].mean() # max,mix等都是一样的 # 假如name中有重复的,我们想获取有多人人,重复的去除 len(attr4['name'].unique

    77820

    Python入门之数据处理——12种有用的Pandas技巧

    在利用某些函数传递一个数据帧的每一行或列之后,Apply函数返回相应的值。该函数可以是系统自带的,也可以是用户定义的。举个例子,它可以用来找到任一行或者列的缺失值。 ? ?...2. .values[0]后缀是必需的,因为默认情况下元素返回的索引与原数据框的索引不匹配。在这种情况下,直接赋值会出错。 # 6. 交叉表 此函数用于获取数据的一个初始“感觉”(视图)。...透视表验证了成功的合并操作。请注意,“value”在这里是无关紧要的,因为在这里我们只简单计数。 # 8–数据帧排序 Pandas允许在多列之上轻松排序。可以这样做: ? ?...加载这个文件后,我们可以在每一行上进行迭代,以列类型指派数据类型给定义在“type(特征)”列的变量名。 ? ? 现在的信用记录列被修改为“object”类型,这在Pandas中表示名义变量。...◆ ◆ ◆ 结语 本文中,我们涉及了Pandas的不同函数,那是一些能让我们在探索数据和功能设计上更轻松的函数。同时,我们定义了一些通用函数,可以重复使用以在不同的数据集上达到类似的目的。

    5K50

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

    再与原数据表进行匹配: pd.concat([data,data_split],axis=1) 输出结果: ? 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]] 输出结果: ?...6.2.7 用iloc取具体值 提取第3行第7列的值 data.iloc[2,6] 输出结果:‘high’ 总结:文字变代码,数值少1;代码变文字,数值加1;代码从0开始计数;文字从1开始计数。...数据汇总 8.1 以department属性对所有列进行计数汇总 data.groupby("department").count() 输出结果: ?

    3.9K20

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

    再与原数据表进行匹配: pd.concat([data,data_split],axis=1) 输出结果: ? 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]] 输出结果: ?...6.2.7 用iloc取具体值 提取第3行第7列的值 data.iloc[2,6] 输出结果:‘high’ 总结:文字变代码,数值少1;代码变文字,数值加1;代码从0开始计数;文字从1开始计数。...数据汇总 8.1 以department属性对所有列进行计数汇总 data.groupby("department").count() 输出结果: ?

    5K20

    pandas每天一题-题目8:去重计数的多种实现方式

    一个订单会包含很多明细项,表中每个样本(每一行)表示一个明细项 order_id 列存在重复 quantity 是明细项数量 需求:数据中共有多少个订单?...下面是答案了 ---- 方式1 因为 order_id 列是存在重复的,那么一种比较直观的方式就是去重+计数: len(df.order_id.drop_duplicates()) 1834 Series.drop_duplicates...---- 方式2 之所以说上一种方式是不准确,是因为没有考虑到空值的问题。 len 函数不会忽略空值(nan) ,因此如果列中有空值,那么就比正确结果数量多。...,经过去重后只会保留一个 nan 值 ---- 方式3 实际上,pandas 本身有提供一个忽略 nan 的计数方法: df.order_id.drop_duplicates().count() 点评...: 这种方式个人认为最合适 ---- 方式4 pandas 为列(Series)提供了一个快速汇总计数方法: df.order_id.value_counts() Series.value_counts

    2.8K21
    领券