这是一个关于 pandas 从基础到进阶的练习题系列,来源于 github 上的 guipsamora/pandas_exercises 。这个项目从基础到进阶,可以检验你有多么了解 pandas。
我会挑选一些题目,并且提供比原题库更多的解决方法以及更详尽的解析。
计划每天更新一期,希望各位小伙伴先自行思考,再查看答案。如果对你有帮助,记得转发推荐给你的好友!
因为前3题比较简单和雷同,直接放在一起
后台回复"数据",可以下载本题数据集
数据如下:
怎么查看前10行数据?
A:df.head(10)
B:df.iloc[:10]
C:df.iloc[:11]
D:df.loc[range(0,10)]
接下来就是答案了!
答案:A、B、D
解析:
A:是 pandas 提供的指定方法,此外还有 df.tail 可以查看倒数n笔记录
B:df.iloc 可以指定位置索引,从而得到记录。由于开始索引从0开始,默认情况下也可以不提供起始值(视为0),因此 :10 相当于 0:10 ,从0开始取,直到10(不包含10)。
D:df.loc 可以获取指定行索引值得到记录。刚好本题加载数据时没有指定行索引,因此默认的行索引的值与位置索引一致。因此本答案有效。但是这是取巧的做法,如果行索引改变,那么此写法将导致错误结果。因此不推荐使用。
怎么获取有多少行数据?
A:df.describe()
B:df.shape[0]
C:len(df)
D:df.info()
接下来就是答案了!
答案:B、C、D
B:df 本质上是通过 numpy 数组保存数据,为了与 numpy 尽可能保持用法一致,因此 pandas 为 df 设置了 shape 属性,能获取二维长度,他是一个元组(行,列)
C:len 是一个 python 的函数,可以获取任何集合对象的长度。深入来说,只要对象有一个叫 __len__
的方法,就能通过 len 函数返回。df 实现了该方法,并且把自身行记录返回。
D:df.info 方法可以获取数据集的整体信息,其中包含行数量。但是此方法的显示信息很多,如果只是查看行数,不推荐使用
怎么获取有多少列?
A:df.describe()
B:df.shape[1]
C:len(df)
D:df.info()
E:len(df.columns)
接下来就是答案了!
答案:B、D、E
B:df 本质上是通过 numpy 数组保存数据,为了与 numpy 尽可能保持用法一致,因此 pandas 为 df 设置了 shape 属性,能获取二维长度,他是一个元组(行,列)
D:df.info 方法可以获取数据集的整体信息,其中包含行数量。但是此方法的显示信息很多,如果只是查看行数,不推荐使用
E:df.columns 可以获取列索引,其中包含了所有列名的集合,通过 len 函数即可获取其长度