我们上篇文章中介绍了,如何加载excel和csv数据,其实除了这两种数据外,还可以从网站或者数据库中读取数据,这部分我们放到后面再和大家介绍。
有了数据,我们该如何查看呢,今天就和我一起看看如何查看数据的行,列的数据。
我们先通过上次内容介绍的read_excel()
方法将数据加载到pd
这个变量
通常我们可以通过head()
这个方法,查看整个数据的前5行
。运行效果如下
这个方法通常可以使用在确认数据是不是我们想要的,这时并不需要把所有的数据都显示出来,可以通过这个方法来查看前5行的数据即可。
我们如果想要获取整个sheet有多少列以及多少行时,可以通过shape这个属性来得到。
可以看到它返回的是一个元组,元组的第一个元素代表的就是行数,第二个参数就是列数。
我们如果想获取这个表格的列名或者表头,则可以使用columns
这个属性
但是,对于我们这个张表格来说看起来很奇怪,这也是实际业务场景中经常遇到的问题,表格的作成者可能出于看起来“好看”或什么其他的原因,经常会出现入上图那样,在表格的上方会加一些说明性的文字,从而使我们的代码在执行的时候总是会出现一些奇怪的表现。
那么该如何解决这个问题呢?
其实很简单,我们只需将他前两行跳过即可,你可以使用如下语句重新加载一次数据
df = pd.read_excel("../data/年度数据.xls", skiprows=2)
这时我们再通过df.columns
来查看一下
这时是不是看着舒服了很多。
可以细心的你,可能已经发现,第十一行的数据似乎也不是我们想要的,那么怎也将他忽略掉呢?
这时,就需要使用组合技能了,
首先我们通过shape
这个属性,获取到最大行数,然后再减去去掉这一行即可
df = pd.read_excel("../data/年度数据.xls")
total_rows = df.shape[0]
skip_rows = [0, 1, total_rows]
df = pd.read_excel("../data/年度数据.xls", skiprows=skip_rows)
获取行通常我们有三种方法可以完成
我们注意到,我们的excel表中并没有0~10的那列索引,这一列时pandas自动帮我们生成的,如果我们还想使用之前的指标
那列作为索引该如何操作呢?
df = pd.read_excel("../data/年度数据.xls", skiprows=skip_rows, index_col=0)
我们可以通过index_col
来指定索引列,运行结果如下
这时,我们可以看到,自动添加的那列索引以及没有了。
接下来我们就可以使用loc
这个方法来获取指定行的数据了,例如我们获取县数(个)
这行的数据
df.loc["县数(个)"]
可以看到,我们可以正常的获取到,如果要同时获取多行,只需修改列表中的参数即可
这里需要注意的是我们使用的的是一个列表作为参数传给了
df.loc[]
这个方法,不要少了中括号哦。
如果我们的表格并没有类似上面这种表头时该如何获取数据呢?这时我们可以通过指定行号来获取数据,同样我们以获取县数(个)
这行的数据为例
df.iloc[5]
可以看到,也可以很好的获取到。
多行和上面的用法类似
df.iloc[[2, 5]]
我们可以通过列名来获取数据
df["2021年"]
获取多列和获取行的形式类似
df[["2021年","2014年"]]
好了,今天的内容就是这些,下期我们继续分享如果通过行和列一起获取指定单元格的数据。
我是Tango,一个热爱分享技术的程序猿,我们下期见。
我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。