作者:韩信子@ShowMeAI
数据分析实战系列:http://www.showmeai.tech/tutorials/40
本文地址:http://www.showmeai.tech/article-detail/285
申明:版权所有,转载请分割平台与作者并注明出处
珍藏ShowMeAI查看更多精彩内容

Pandas 数据显示的问题

咱们在利用 Python 进行数据分析开掘和机器学习时,最罕用的工具库就是 Pandas,它能够帮忙咱们快捷地进行数据处理和剖析。

对 Pandas 不相熟的同学,肯定要学习下这个宝藏工具库哦!ShowMeAI 给大家做了一个详尽的教程,能够在 Python 数据分析教程 中查看,咱们同时也制作了 Pandas速查表,不便大家疾速查找须要的性能。如果你喜爱跟着视频学习,那么举荐B站这个 疾速实战教程

但在应用 Pandas 时,咱们常常会遇到像上面这样一些问题,它很影响咱们查看数据理解详情。

长文本无奈显示全

对于十分长的字段可能显示不全,如下图中,URL 被缩短显示。

迷信计数法显示失去细节

Pandas 默认应用『迷信计数法』显示大浮点数,例如 1000000.5 显示为 1.000e+06 。对于数值较大的数字,就可能有如下的显示,这导致咱们看不到具体数值。

![](https://p3-juejin.byteimg.com...e" width="30%" referrerpolicy="no-referrer">

小数位精度不统一

对于浮点型的字段列,Pandas 可能有不同的位精度。例如下图中,col_1 准确到小数点后一位,而 col_2 准确到小数点后三位。有时候精度的不统一可能会有信息的差别。

在本篇内容中,ShowMeAI 将介绍如何应用 Pandas 自定义设置来解决诸如上述的问题。次要的设置包含上面内容:

  • 自定义要显示的行数
  • 自定义要显示的列数
  • 自定义列宽
  • 使浮点列之间的小数位精度保持一致
  • 禁用迷信记数法
  • 其余用法
留神:以上设置仅更改数据的显示出现形式,理论并不会影响Dataframe存储的数据。

Pandas自定义显示设置

自定义显示行数

打印大 Dataframe(行列数很多的数据)时,Pandas 默认显示前 5 行和后 5 行,如下图所示。

咱们能够通过设置显示选项 display.max_rows 来更改要显示的行数,比方咱们将其设置为4。

pd.set_option("diaply.max_row", 4)df

咱们能够应用重置选项 pd.reset_option("display.max_rows") 复原默认行数显示设置。

自定义显示列数

同样的情理,咱们能够通过设置 display.max_columns 自定义输入 Dataframe 时要显示的列数。

pd.set_option("diaply.max_columns", 6)df

咱们甚至能够设置 pd.set_option('display.max_columns',` `None) 来显示所有列(然而大家须要留神一下内存应用,这个操作可能让 Jupyter Notebook 一下占用特地多资源)。

咱们同样能够应用 pd.reset_option("display.max_columns") 重置返回到默认设置。

自定义列宽

在下图中,咱们看不到前两行的全文,因为它们的字符太长(长度超过了 50)。

咱们把设置 display.max_colwidth调整到 70,就能够看到全文了,如下图所示。

pd.set_option("diaply.max_colwidth", 70)df

对这个设置重置的操作仍旧是pd.reset_option("display.max_colwidth")

设置字段小数位精度统一

后面提到的一个例子中,col_1col_2 的小数位精度不统一:

咱们能够通过设置 display.float_format"{:.2f}".format 使格局统一,如下图所示。

该选项只会影响浮点列,而不影响整数列。
pd.set_option("diaply.float_format", "{:.2f}".format)df

对这个设置重置的操作是 pd.reset_option("display.float_format")

禁用迷信计数法

Pandas 默认以迷信计数法显示较大的浮点值。

通过设置 display.float_format"{:,.2f}".format,咱们能够为千位增加分隔符。

pd.set_option("diaply.float_format", "{:,.2f}".format)df

咱们甚至能够增加货币符号在数值后面,比方咱们把 display.float_format 设置为 "$ {:,.2f}".format,失去如下后果:

pd.set_option("diaply.float_format", "$ {:,.2f}".format)df

其余设置

下面列到的是一些最罕用的设置,如果咱们记不住这些设置名称,或者咱们想理解全副能够调整的显示设置,能够怎么办呢?实际上大家能够借助pd.describe_option()取得所有可用显示设置的列表。

针针对某个特定的显示设置,能够在 pd.describe_option()中传入想调整的显示设置名称来获取应用细节,例如咱们运行pd.describe_option("max_rows")将打印形容 display.max_rows应用细节,如下图所示。

pd.describe_option("max_rows")

参考资料

  • Pandas 设置选项: https://pandas.pydata.org/docs/user_guide/options.html
  • Python 数据分析教程: http://www.showmeai.tech/tutorials/33
  • Pandas速查表: http://www.showmeai.tech/article-detail/101
  • Pandas 疾速实战教程: https://www.bilibili.com/video/BV1M64y187bz