当前位置:首页 >> 脚本专栏

pandas参数设置的实用小技巧

前言

在日常使用pandas的过程中,由于我们所分析的数据表规模、格式上的差异,使得同样的函数或方法作用在不同数据上的效果存在差异。

而pandas有着自己的一套参数设置系统,可以帮助我们在遇到不同的数据时灵活调节从而达到最好的效果,本文就将介绍pandas中常用的参数设置方面的知识。

pandas参数设置的实用小技巧
图1

1 设置DataFrame最大显示行数

pandas设置参数中的display.max_rows用于控制打印出的数据框的最大显示行数,我们使用pd.set_option()来有针对的设置参数,如下面的例子:

pandas参数设置的实用小技巧
图2

在修改display.max_rows的参数值之后,我们的数据框只会显示指定行数的数据,中间的部分都会以省略号的形式显示,当我们的数据框行数较多,可以加大这个参数以显示更多行数据。

2 设置DataFrame最大显示列数

类似display.max_rows,通过修改display.max_columns我们可以调节最大显示的数据框列数(默认是20列),这在我们的数据框字段较多又想全部查看的时候很有用:

pandas参数设置的实用小技巧
图3

3 设置每列的最大显示宽度

对于一些单元格内容长度较长的数据譬如长文本,在查看数据框时过长的部分会被简化为省略号,而通过修改display.max_colwidth参数我们可以在必要时,使得超长的部分也显示出来:

pandas参数设置的实用小技巧
图4

4 指定小于某个数的元素显示为0

通过display.chop_threshold参数我们在不修改原始数据的情况下,指定数据框中绝对值小于阈值的数显示为0:

pandas参数设置的实用小技巧
图5

5 格式化浮点数

通过display.float_format参数我们可以设置浮点数的显示格式,譬如这里我们给浮点数加上前缀并设定保留两位小数:

pandas参数设置的实用小技巧
图6

6 设置info()方法中非缺失值检查的行数上限

针对数据框的info()方法可以帮助我们查看数据框的一些概览信息,譬如每一列对应的非缺失值个数。

但默认情况下当数据框行数大于1690784行时,再查看info()信息,会处于计算效率的考虑略去缺失值检查信息。

这时我们可以通过设置display.max_info_rows参数来提高这个上限:

pandas参数设置的实用小技巧
图7

7 控制小数打印的精度

控制数据框中小数的显示精度除了上文提到的方法之外,还可以通过修改display.precision参数来控制,默认是6位小数:

pandas参数设置的实用小技巧
图8

8 临时修改参数

有些时候我们只希望在某张表上进行设置参数的修改,不希望影响到之后的其他表的显示。

这时除了用pd.reset_option()对指定的参数进行复原之外,我们还可以利用with关键词配合pd.option_context以临时的方式将指定的参数作用在局部范围内:

pandas参数设置的实用小技巧
图9

总结