首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

两个使用 Pandas 读取异常数据结构 Excel 的方法,拿走谢!

通常情况下,我们使用 Pandas 来读取 Excel 数据,可以很方便的把数据转化为 DataFrame 类型。...但是现实情况往往很骨干,当我们遇到结构不是特别良好的 Excel 的时候,常规的 Pandas 读取操作就不怎么好用了,今天我们就来看两个读取非常规结构 Excel 数据的例子 本文使用的测试 Excel...openpyxl 来解析 Excel 文件并将数据转换为 pandas DataFrame 以下是使用 openpyxl(安装后)读取 Excel 文件的方法: from openpyxl import...load_workbook import pandas as pd from pathlib import Path src_file = src_file = Path.cwd() / 'shipping_tables.xlsx...shipping_rates'] lookup_table = sheet.tables['ship_cost'] lookup_table.ref 现在我们以及知道要加载的数据范围了, 接下来就是将该范围转换为 Pandas

1.2K20

Python数据科学手册(四)【Pandas 索引和选择】

前面我们介绍了Numpy的索引和选择操作,Pandas也具有类似的操作,这节我们将介绍Pandas对象的索引和选择操作。...例如Series对象使用了整型数组进行显式声明,则data[1]将使用显式的索引,而data[1:3]还会继续使用隐式索引。...loc()方法总是使用显式索引: data.loc[1] # 'a' data.loc[1:3] 结果为 1 a 3 b dtype: object 而iloc()总是使用隐式索引: data.iloc...也可以像属性的方式一样获取: data.area 属性获取的方式与通过key获取的方式类似: data.area is data['area'] # True 注意如果采用属性获取的方式,则属性名称不能与...image.png 使用loc进行显式切片: data.loc[:'Illinois', :'pop'] ix支持混合切片: data.ix[:3, :'pop'] 结果如下所示: ?

1K30

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

很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。以下的内容主要以DataFrame为主。 Panel :三维的数组,可以理解为DataFrame的容器。<!...DataFrame是二维的数据结构,其本质是Series的容器,因此,DataFrame可以包含一个索引以及与这些索引联合在一起的Series,由于一个Series中的数据类型是相同的,而不同Series...使用标签选取数据: df.loc[行标签,列标签]df.loc['a':'b']#选取ab两行数据df.loc[:,'one']#选取one列的数据 df.loc的第一个参数是行标签,第二个参数为列标签...选取第一行到第三行(包含)的数据df.iloc[:,1]#选取所有记录的第一列的值,返回的为一个Seriesdf.iloc[1,:]#选取第一行数据,返回的为一个Series PS:loc为location...画图 Pandas也支持一定的绘图功能,需要安装matplot模块。 比如前面创建的时间序列,通过plot()就可以绘制出折线图,也可以使用hist()命令绘制频率分布的直方图。

15K100

pandas每天一题-题目1、2、3

因为前3题比较简单和雷同,直接放在一起 后台回复"数据",可以下载本题数据集 数据如下: 题目1 怎么查看前10行数据?...由于开始索引从0开始,默认情况下也可以不提供起始值(视为0),因此 :10 相当于 0:10 ,从0开始取,直到10(包含10)。 D:df.loc 可以获取指定行索引值得到记录。...因此推荐使用。 ---- 题目2 怎么获取有多少行数据? A:df.describe() B:df.shape[0] C:len(df) D:df.info() 接下来就是答案了!...但是此方法的显示信息很多,如果只是查看行数,推荐使用 ---- 题目3 怎么获取有多少列?...但是此方法的显示信息很多,如果只是查看行数,推荐使用 E:df.columns 可以获取列索引,其中包含了所有列名的集合,通过 len 函数即可获取其长度

35220

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

当然如果我们指定的话,它会和行号一样,都是整数: ? 我们可以手动修改df的index,来看看当行索引不是整数的时候,是不是也一样生效。 ?...不仅如此,loc方法也是支持切片的,也就是说虽然我们传进的是一个字符串,但是它在原数据当中是对应了一个位置的。我们使用切片,pandas会自动替我们完成索引对应位置的映射。 ?...另外,loc是支持二维索引的,也就是说我们不但可以指定行索引,还可以在此基础上指定列。说白了我们可以选择我们想要的行中的字段。 ? 列索引也可以切片,并且可以组合在一起切片: ?...总结 今天主要介绍了loc、iloc和逻辑索引在pandas当中的用法,这也是pandas数据查询最常用的方法,也是我们使用过程当中必然会用到的内容。建议大家都能深刻理解,把它记牢。...很多人在学习pandas的前期遇到最多的一个问题就是会把iloc和loc记混淆,搞不清楚哪个是索引查询哪个是行号查询。

12.4K10

一文介绍Pandas中的9种数据访问方式

导读 Pandas之于日常数据分析工作的重要地位不言而喻,而灵活的数据访问则是其中的一个重要环节。本文旨在讲清Pandas中的9种数据访问方式,包括范围读取和条件查询等。 ?...例如,当标签列类型(可通过df.index.dtype查看)为时间类型时,若使用无法隐式转换为时间的字符串作为索引切片,则引发报错 ? 切片形式返回行查询,且为范围查询 ?...其实提到query让人想到的仍然是SQL,因为SQL=Structed Query Language,所以query用在DataFrame中其实是提供了一种以类SQL语法执行数据访问的方式,这对熟悉SQL的使用者来说非常有帮助...实际上,DataFrame中的lookup执行的功能与Excel中的lookup函数差距还是挺大的,初学之时颇有一种挂羊头卖狗肉的感觉。...最后,pandas中提供了非常灵活多样的数据访问形式,可以说是兼顾了嵌套Series和嵌套dict的双重特性,但最为常用的其实还是[]、loc和iloc这几种方法,而对于where、query、isin

3.7K30

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

loc和iloc应该理解为是series和dataframe的属性而非函数,应用loc和iloc进行数据访问就是根据属性值访问的过程 另外,在pandas早些版本中,还存在loc和iloc的兼容结构,即...ix,可混合使用标签和数字索引,但往往容易混乱,所以现已弃用 05 数据处理 ?...广播机制,即当维度或形状匹配时,会按一定条件广播后计算。由于pandas是带标签的数组,所以在广播过程中会自动按标签匹配进行广播,而非类似numpy那种纯粹按顺序进行广播。...对象,功能与python中的普通map函数类似,即对给定序列中的每个值执行相同的映射操作,不同的是series中的map接口的映射方式既可以是一个函数,也可以是一个字典 ?...由于此时各班的每门课成绩信息唯一,所以直接用pivot进行重整会报错,此时即需要对各班各门课程成绩进行聚合后重整,比如取平均分。 ? 07 数据可视化 ?

13.8K20

数据分析之Pandas VS SQL!

本文提供了一系列的示例,说明如何使用pandas执行各种SQL操作。 Pandas简介 Pandas把结构化数据分为了三类: Series,可以理解为一个一维的数组,只是index可以自己改动。...相关语法如下: loc,基于列label,可选取特定行(根据行index) iloc,基于行/列的位置 ix,为loc与iloc的混合体,既支持label也支持position at,根据指定行index...在pandas中,Dataframe可以通过多种方式进行过滤,最直观的是使用布尔索引: ?...中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改,默认为False,返回一个新的Dataframe;若为True,创建新的对象,直接对原始对象进行修改。...GROUP BY(数据分组) groupby()通常指的是这样一个过程:我们希望将数据集拆分为组,应用一些函数(通常是聚合),然后将这些组组合在一起: ?

3.1K20

Pandas 秘籍:1~5

一、Pandas 基础 在本章中,我们将介绍以下内容: 剖析数据帧的结构 访问主要的数据帧组件 了解数据类型 选择单列数据作为序列 调用序列方法 与运算符一起使用序列 将序列方法链接在一起 使索引有意义...连同索引和值一起,输出显示序列的名称,长度和数据类型。 或者,虽然建议这样做,但可能会出错,但是可以使用带有列名作为属性的点表示法来访问数据列。...另见 参考第 1 章,“Pandas 基础”中的“将序列方法链接到一起”秘籍 将运算符与数据帧一起使用 它与第 1 章,“Pandas 基础”的秘籍有关,其中提供了关于运算符的入门知识。 这里。...loc索引器仅按索引标签进行选择,这与 Python 词典的工作方式类似。 准备 .loc和。iloc与序列和数据帧一起使用。...先前的秘籍使用了包含重复项的未排序索引,因此选择速度相对较慢。 准备 在此秘籍中,我们使用college数据集来形成唯一索引或排序索引,以提高索引选择的性能。 我们还将继续将性能与布尔索引进行比较。

37.2K10

pandas DataFrame 数据选取,修改,切片的实现

在刚开始使用pandas DataFrame的时候,对于数据的选取,修改和切片经常困惑,这里总结了一些常用的操作。...pandas主要提供了三种属性用来选取行/列数据: 属性名 属性 ix 根据整数索引或者行标签选取数据 iloc 根据位置的整数索引选取数据 loc 根据行标签选取数据 先初始化一个DateFrame...所以在对数据进行切片的时候尽量使用iloc这类的方法 df.iloc[0,0] #第0行第0列的数据,'Snow' df.iloc[1,2] #第1行第2列的数据,32 df.iloc[[1,3],0...:2] #第1行和第3行,从第0列到第2列(包含第2列)的数据 df.iloc[1:3,[1,2] #第1行到第3行(包含第3行),第1列和第2列的数据 4. ix, ix很强大,loc和iloc的功能都能做到...(https://github.com/pandas-dev/pandas/issues/14218) 大概是因为可以混合label和position导致了很多用户问题和bug。

8.4K20

Pandas图鉴(三):DataFrames

DataFrame有两种可供选择的索引模式:loc用于通过标签进行索引,iloc用于通过位置索引进行索引。 在Pandas中,引用多行/列是一种复制,而不是一种视图。...当使用几个条件时,它们必须用括号表示,如下图所示: 当你期望返回一个单一的值时,你需要特别注意。 因为有可能有几条符合条件的记录,所以loc返回一个Series。...1:n关系joins 这是数据库设计中最广泛使用的关系,表A的一条记录(例如 "State")可以与表B的几条记录(例如 "City")相连,但是表B的每条记录只能与表A的一条记录相连(等于一个City...预定义函数(Pandas或NumPy函数对象,或其名称为字符串)。 一个从不同角度看数据的有用工具--通常与分组一起使用--是透视表。...为了方便,pivot_table可以计算小计和大计: 一旦创建,数据透视表就变成了一个普通的DataFrame,所以它可以使用前面描述的标准方法进行查询: 当与MultiIndex一起使用时,数据透视表特别方便

34520
领券