7个有用的Pandas显示选项分享

 更新时间:2022年12月07日 14:54:05   作者:Andy McDonald  
Pandas是一个在数据科学中常用的功能强大的Python库。在某些情况下,我们可能希望更改所显示内容的格式,这就需要使用Pandas的一些定制功能来帮助我们自定义内容的显示方式。本文为大家总结了7个有用的Pandas显示选项,希望对大家有所帮助

Pandas是一个在数据科学中常用的功能强大的Python库。它可以从各种来源加载和操作数据集。当使用Pandas时,默认选项就已经适合大多数人了。但是在某些情况下,我们可能希望更改所显示内容的格式。所以就需要使用Pandas的一些定制功能来帮助我们自定义内容的显示方式。

1、控制显示的行数

在查看数据时,我们希望看到比默认行数更多或更少的行数(默认行数为10)。

arr_data = np.random.default_rng().uniform(0, 100, size=(100,5))
 pd.DataFrame(arr_data, columns=list('ABCDE'))

可以看到,默认包括数据帧的前5行和后5行。因为这样可以防止pandas在调用数据框架时显示大量的数据,从而降低计算机的速度。

这里有两个选项可用于控制显示的行数。

首先是display.max_rows,它控制在截断之前显示的最大行数。如果数据中的行数超过此值,则显示将被截断。默认设置为60。

如果希望显示所有行,则需要将display.max_rows设置为None。如果数据非常大,这可能会占用很多资源并且降低计算速度。

pd.set_option('display.max_rows', None)

这样就可以看到df中的所有行。

如果数据的行数多于 max_rows 设置的行数,则必须将 display.min_rows 参数更改为要显示的值。还需要确保 max_rows 参数大于 min_rows。

pd.set_option('display.min_rows', 20)

如果将min_rows设置为20,那么当查看时,将看到顶部有10行,底部有10行。

2、控制显示的列数

当处理包含大量列的数据集时,pandas将截断显示,默认显示20列。下图第9列和第15列之间的三个点(省略号)表示已经被截断了

上述数据,是使用以下代码显示的:

arr_data = np.random.default_rng().uniform(0, 100, size=(100,25))
 df = pd.DataFrame(arr_data)
 df

要查看显示上的更多列,可以更改display.max_columns参数

pd.set_option('display.max_columns', 30)

这样做最多将显示30列。但是这可能会导致其他问题,例如当有图片时这会变得很难看。

3、禁止科学记数法

通常在处理科学数据时,你会遇到非常大的数字。一旦这些数字达到数百万,Pandas就会将它们重新格式化为科学符号,这可能很有帮助,但并不总是如此。

要生成具有非常大值的数据,可以使用以下代码。

arr_data = np.random.default_rng().uniform(0, 10000000, size=(10,3))
 df = pd.DataFrame(arr_data)
 df

如果想要显示这些数字的完整形式而不使用科学符号。这可以通过更改float_format显示选项并传入一个lambda函数来实现。这将重新格式化显示,使其具有不带科学记数法的值和最多保留小数点后3位。

pd.set_option('display.float_format', lambda x: f'{x:.3f}')

如果你想让它看起来更好看,你可以在千位之间添加逗号分隔符。

下面的代码可能看起来与上面的相同,但是如果您仔细查看该代码的f'{x:部分后面有一个逗号。

pd.set_option('display.float_format', lambda x: f'{x:,.3f}')

4、更改数据的浮点精度

在某些情况下,数据可能在小数点后有太多的值,这样看起来很乱。默认情况下,Pandas将在小数点后显示6个位。

为了使它更容易阅读,可以通过调用display.precision来减少显示的值的数量。

pd.set_option('display.precision', 2)

数值列的浮点精度已降低到2。

此设置只更改数据的显示方式。它不更改底层数据值。

5、控制Float格式

在某些情况下,数字可以代表百分比或货币价值。如果是这种情况,用正确的单位来格式化它们是很方便的。

若要在列后面添加百分比符号,可以调用display.float_format选项,并使用f-string传入想要显示的格式:

pd.set_option('display.float_format',  f'{:,.3f}%')

要以美元符号开始,可以这样更改代码:

pd.set_option('display.float_format',  f'${:,.2f}')

6、更改默认的Pandas绘图库

在进行探索性数据分析时,通常需要快速生成数据图。可以使用matplotlib来构建一个plot,但是在Pandas中可以使用.plot()方法使用几行代码来完成它。

Pandas为我们提供了一系列可以使用的绘图库:

  • matplotlib
  • hvplot >= 0.5.1
  • holoviews
  • pandas_bokeh
  • plotly >= 4.8
  • altair

要更改当前的默认绘图库,需要更改plotting.backend选项。

pd.options.plotting.backend = "hvplot"

这样就使用.plot方法创建plot时就会调用设置的库

df.plot(kind='scatter', x='1', y='2')

7、重置显示选项

如果希望将特定选项的参数设置回默认值,可以调用reset_option方法并传入想要重置的选项。

pd.reset_option('display.max_rows')

或者可以通过all作为参数将它们全部更改回默认值。

pd.reset_option('all')

如果想一次设置多个选项可以这样做。

settings = {
     'max_columns': 30,
     'min_rows':40,
     'max_rows': 30,
     'precision': 3
     }
 for option, value in settings.items():
     pd.set_option("display.{}".format(option), value)

这样做可以帮助节省时间,减少编写的代码数量,提高可读性。

总结

Pandas是一个功能强大的库,但是默认选项可能不适合特定的需要。本文介绍了一些常用选项,可以改进查看数据的方式。

到此这篇关于7个有用的Pandas显示选项分享的文章就介绍到这了,更多相关Pandas显示选项内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python如何安装第三方模块

    Python如何安装第三方模块

    在本篇文章里,小编给大家分享的是关于Python安装第三方模块的方法及实例代码,需要的朋友们可以学习下。
    2020-05-05
  • Python利用神经网络解决非线性回归问题实例详解

    Python利用神经网络解决非线性回归问题实例详解

    这篇文章主要介绍了Python利用神经网络解决非线性回归问题,结合实例形式详细分析了Python使用神经网络解决非线性回归问题的相关原理与实现技巧,需要的朋友可以参考下
    2019-07-07
  • python关键字and和or用法实例

    python关键字and和or用法实例

    这篇文章主要介绍了python关键字and和or用法实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-05-05
  • python实现批量文件重命名

    python实现批量文件重命名

    这篇文章主要介绍了python实现批量文件重命名,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 使用numpy实现矩阵的翻转(flip)与旋转

    使用numpy实现矩阵的翻转(flip)与旋转

    这篇文章主要介绍了使用numpy实现矩阵的翻转(flip)与旋转,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 公众号接入chatGPT的详细教程 附Python源码

    公众号接入chatGPT的详细教程 附Python源码

    这篇文章主要介绍了公众号接入chatGPT教程附Python源码,这里需要大家准备一个域名,一台服务器和一个公众号,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 使用jupyter notebook将文件保存为Markdown,HTML等文件格式

    使用jupyter notebook将文件保存为Markdown,HTML等文件格式

    这篇文章主要介绍了使用jupyter notebook将文件保存为Markdown,HTML等文件格式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • OpenCV-Python实现腐蚀与膨胀的实例

    OpenCV-Python实现腐蚀与膨胀的实例

    形态学操作主要包含:腐蚀,膨胀,开运算,闭运算,形态学梯度运算,顶帽运算,黑帽运算等操作,本文主要介绍了腐蚀与膨胀,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Python二分法搜索算法实例分析

    Python二分法搜索算法实例分析

    这篇文章主要介绍了Python二分法搜索算法,实例分析了Python实现二分法的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-05-05
  • 浅析python实现scrapy定时执行爬虫

    浅析python实现scrapy定时执行爬虫

    这篇文章主要介绍了浅析python实现scrapy定时执行爬虫的相关资料,需要的朋友可以参考下
    2018-03-03

最新评论