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中is和id的用法

    举例讲解Python中is和id的用法

    这篇文章主要介绍了举例讲解Python中is和id的用法,是Python学习当中的基础知识,作者举例进行了简单说明,需要的朋友可以参考下
    2015-04-04
  • 解决windows下命令行执行python3失效,会打开应用商店问题

    解决windows下命令行执行python3失效,会打开应用商店问题

    这篇文章主要介绍了解决windows下命令行执行python3失效,会打开应用商店问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • PyCharm连接远程服务器的超级详细教程

    PyCharm连接远程服务器的超级详细教程

    Pycharm可以与服务器建立连接,把相应的项目同步到服务器上,下面这篇文章主要给大家介绍了关于PyCharm连接远程服务器的超级详细教程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • 用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试

    用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试

    Hadoop 是一个实现了 MapReduce 计算模型的开源分布式并行编程框架,借助于 Hadoop, 程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算。
    2014-07-07
  • pandas dataframe添加表格框线输出的方法

    pandas dataframe添加表格框线输出的方法

    今天小编就为大家分享一篇pandas dataframe添加表格框线输出的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Python 3实战爬虫之爬取京东图书的图片详解

    Python 3实战爬虫之爬取京东图书的图片详解

    最近在学习python3,下面这篇文章主要给大家介绍了关于Python3实战爬虫之爬取京东图书图片的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-10-10
  • Python入门教程(八)PythonCasting用法

    Python入门教程(八)PythonCasting用法

    这篇文章主要介绍了Python入门教程(八)PythonCasting用法,Python是一门非常强大好用的语言,也有着易上手的特性,本文为入门教程,需要的朋友可以参考下
    2023-04-04
  • Django利用LogEntry生成历史操作实战记录

    Django利用LogEntry生成历史操作实战记录

    LogEntry是在后台开发中经常用到的模块,它在admin是默认开启的。文中给大家介绍了在admin页面上查看操作日志的方法及实战代码,感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • PyQt5实现多张图片显示并滚动

    PyQt5实现多张图片显示并滚动

    最近要做个网页图片批量下载工具,然后需要一个页面显示网页上的所有图片供用户勾选,再根据勾选的内容来下载指定图片,其中就涉及到要到同时显示多张图片,本文就来介绍一下
    2021-06-06
  • python 解决selenium 中的 .clear()方法失效问题

    python 解决selenium 中的 .clear()方法失效问题

    这篇文章主要介绍了python 解决selenium 中的 .clear()方法失效问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09

最新评论