Pandas数据显示不全?快来了解这些设置技巧! ⛵

简介: 资深工程师最常用的 Pandas 显示设置技巧!Pandas数据显示不全?快来了解这些设置技巧,自定义显示的行数、列数、列宽,使浮点列之间的小数位精度保持一致、禁用科学记数法…
5055f495fc3b44a6a8c8d00176e542f7~tplv-k3u1fbpfcp-zoom-1.image
💡 作者: 韩信子@ ShowMeAI
📘 数据分析实战系列http://www.showmeai.tech/tutorials/40
📘 本文地址http://www.showmeai.tech/article-detail/285
📢 声明:版权所有,转载请联系平台与作者并注明出处
📢 收藏 ShowMeAI查看更多精彩内容

📌 Pandas 数据显示的问题

a449586cbffb4a31a55a92cd277116de~tplv-k3u1fbpfcp-zoom-1.image

我们在应用 Python 进行数据分析挖掘和机器学习时,最常用的工具库就是 Pandas,它可以帮助我们快捷地进行数据处理和分析。

4539b793d5ee4810914f007103da692a~tplv-k3u1fbpfcp-zoom-1.image
对 Pandas 不熟悉的同学,一定要学习下这个宝藏工具库哦!ShowMeAI 给大家做了一个详尽的教程,可以在 📘 Python 数据分析教程 中查看,我们同时也制作了 📘 Pandas速查表,方便大家快速查找需要的功能。如果你喜欢跟着视频学习,那么推荐B站这个 📘 快速实战教程

但在使用 Pandas 时,我们经常会遇到像下面这样一些问题,它很影响我们查看数据了解详情。

🔔 长文本无法显示全

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

2d0087b3b25e4a67a5619f35a4d34ebd~tplv-k3u1fbpfcp-zoom-1.image

🔔 科学计数法显示失去细节

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

819205584b074b558ca619e354eaa04c~tplv-k3u1fbpfcp-zoom-1.image

🔔 小数位精度不一致

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

3e6ba450c68645799a13296420fef7e1~tplv-k3u1fbpfcp-zoom-1.image

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

  • 自定义要显示的行数
  • 自定义要显示的列数
  • 自定义列宽
  • 使浮点列之间的小数位精度保持一致
  • 禁用科学记数法
  • 其他用法
注意:以上设置仅更改数据的显示呈现方式,实际并不会影响Dataframe存储的数据。

📌 Pandas自定义显示设置

fc24b2ed69c64f5e97fc963511083c28~tplv-k3u1fbpfcp-zoom-1.image

💡 自定义显示行数

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

f0f5411f4c4c41e7b4000995681dd9f4~tplv-k3u1fbpfcp-zoom-1.image

我们可以通过设置显示选项 display.max_rows 来更改要显示的行数,比如我们将其设置为4。

pd.set_option("display.max_row", 4)
df
7e849a4e3fec4df6a32e9913fa8b5cb4~tplv-k3u1fbpfcp-zoom-1.image

我们可以使用重置选项 pd.reset_option("display.max_rows") 恢复默认行数显示设置。

💡 自定义显示列数

同样的道理,我们可以通过设置 display.max_columns 自定义输出 Dataframe 时要显示的列数。

pd.set_option("display.max_columns", 6)
df
6b383a7ff4f54fc89b18862b03974d27~tplv-k3u1fbpfcp-zoom-1.image

我们甚至可以设置 pd.set_option('display.max_columns',` `None) 来显示所有列(但是大家需要注意一下内存使用,这个操作可能让 Jupyter Notebook 一下占用特别多资源)。

我们同样可以使用 pd.reset_option("display.max_columns") 重置返回到默认设置。

💡 自定义列宽

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

0808ad1a99204ad09e4435b5d87cda80~tplv-k3u1fbpfcp-zoom-1.image

我们把设置 display.max_colwidth调整到 70,就可以看到全文了,如下图所示。

pd.set_option("display.max_colwidth", 70)
df
2b216327af054fc5833d3ca42158bea6~tplv-k3u1fbpfcp-zoom-1.image

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

💡 设置字段小数位精度一致

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

b07a38491db849a5ba6ee2f1c52a033c~tplv-k3u1fbpfcp-zoom-1.image

我们可以通过设置 display.float_format"{:.2f}".format 使格式一致,如下图所示。

该选项只会影响浮点列,而不影响整数列。
pd.set_option("display.float_format", "{:.2f}".format)
df
7ba391a9b63a46d6821514deda6286b3~tplv-k3u1fbpfcp-zoom-1.image

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

💡 禁用科学计数法

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

eec53ce71c0e4093adb2feacac743591~tplv-k3u1fbpfcp-zoom-1.image

通过设置 display.float_format"{:,.2f}".format,我们可以为千位添加分隔符。

pd.set_option("display.float_format", "{:,.2f}".format)
df
53bd2c30c03c4ce8a7682d9de6840fed~tplv-k3u1fbpfcp-zoom-1.image

我们甚至可以添加货币符号在数值前面,比如我们把 display.float_format 设置为 "$ {:,.2f}".format,得到如下结果:

pd.set_option("display.float_format", "$ {:,.2f}".format)
df
061b5ebab53c44a9b0378467c2e31ad0~tplv-k3u1fbpfcp-zoom-1.image

💡 其他设置

上面列到的是一些最常用的设置,如果我们记不住这些设置名称,或者我们想了解全部可以调整的显示设置,可以怎么办呢?实际上大家可以借助pd.describe_option()获得所有可用显示设置的列表。

针针对某个特定的显示设置,可以在 pd.describe_option()中传入想调整的显示设置名称来获取使用细节,例如我们运行pd.describe_option("max_rows")将打印描述 display.max_rows使用细节,如下图所示。

pd.describe_option("max_rows")
325d66ce26fa4a918704d1161efef5be~tplv-k3u1fbpfcp-zoom-1.image

参考资料

e9190f41b8de4af38c8a1a0c96f0513b~tplv-k3u1fbpfcp-zoom-1.image

目录
相关文章
|
2月前
|
Python
使用 Pandas 库时,如何处理数据的重复值?
在使用Pandas处理数据重复值时,需要根据具体的数据特点和分析需求,选择合适的方法来确保数据的准确性和唯一性。
252 64
|
3天前
|
数据采集 数据可视化 数据挖掘
Pandas数据应用:天气数据分析
本文介绍如何使用 Pandas 进行天气数据分析。Pandas 是一个强大的 Python 数据处理库,适合处理表格型数据。文章涵盖加载天气数据、处理缺失值、转换数据类型、时间序列分析(如滚动平均和重采样)等内容,并解决常见报错如 SettingWithCopyWarning、KeyError 和 TypeError。通过这些方法,帮助用户更好地进行气候趋势预测和决策。
92 71
|
6天前
|
编解码 数据挖掘 开发者
Pandas数据导出:CSV文件
Pandas是Python中强大的数据分析库,提供了灵活的数据结构如DataFrame和Series。通过`to_csv()`函数可轻松将数据保存为CSV文件。本文介绍了基本用法、常见问题(如编码、索引、分隔符等)及解决方案,并涵盖大文件处理和报错解决方法,帮助用户高效导出数据。
123 83
|
2天前
|
存储 数据采集 数据可视化
Pandas数据应用:电子商务数据分析
本文介绍如何使用 Pandas 进行电子商务数据分析,涵盖数据加载、清洗、预处理、分析与可视化。通过 `read_csv` 等函数加载数据,利用 `info()` 和 `describe()` 探索数据结构和统计信息。针对常见问题如缺失值、重复记录、异常值等,提供解决方案,如 `dropna()`、`drop_duplicates()` 和正则表达式处理。结合 Matplotlib 等库实现数据可视化,探讨内存不足和性能瓶颈的应对方法,并总结常见报错及解决策略,帮助提升电商企业的数据分析能力。
95 73
|
13天前
|
存储 数据挖掘 数据处理
Pandas 数据筛选:条件过滤
Pandas 是 Python 最常用的数据分析库之一,提供了强大的数据结构和工具。本文从基础到高级,介绍如何使用 Pandas 进行条件过滤,包括单一条件、多个条件过滤、常见问题及解决方案,以及动态和复杂条件过滤的高级用法。希望本文能帮助你更好地利用 Pandas 处理数据。
129 78
|
10天前
|
数据挖掘 数据处理 数据库
Pandas数据聚合:groupby与agg
Pandas库中的`groupby`和`agg`方法是数据分析中不可或缺的工具,用于数据分组与聚合计算。本文从基础概念、常见问题及解决方案等方面详细介绍这两个方法的使用技巧,涵盖单列聚合、多列聚合及自定义聚合函数等内容,并通过代码案例进行说明,帮助读者高效处理数据。
73 32
|
8天前
|
数据挖掘 数据处理 索引
Pandas数据重命名:列名与索引为标题
Pandas 是强大的数据分析工具,支持灵活的数据结构和操作。本文介绍如何使用 Pandas 对 `DataFrame` 的列名和索引进行重命名,包括直接赋值法、`rename()` 方法及索引修改。通过代码示例展示了具体操作,并讨论了常见问题如名称冲突、数据类型不匹配及 `inplace` 参数的使用。掌握这些技巧可使数据更清晰易懂,便于后续分析。
52 29
|
4天前
|
数据采集 数据可视化 索引
Pandas数据应用:股票数据分析
本文介绍了如何使用Pandas库进行股票数据分析。首先,通过pip安装并导入Pandas库。接着,从本地CSV文件读取股票数据,并解决常见的解析错误。然后,利用head()、info()等函数查看数据基本信息,进行数据清洗,处理缺失值和重复数据。再者,结合Matplotlib和Seaborn进行数据可视化,绘制收盘价折线图。最后,进行时间序列分析,设置日期索引、重采样和计算移动平均线。通过这些步骤,帮助读者掌握Pandas在股票数据分析中的应用。
31 5
|
9天前
|
SQL 数据采集 数据挖掘
Pandas数据合并:concat与merge
Pandas是Python中强大的数据分析库,提供灵活高效的数据结构和工具。本文详细介绍了Pandas中的两种主要合并方法——`concat`和`merge`。`concat`用于沿特定轴连接多个Pandas对象,适用于简单拼接场景;`merge`则类似于SQL的JOIN操作,根据键合并DataFrame,支持多种复杂关联。文章还探讨了常见问题及解决方案,如索引对齐、列名冲突和数据类型不一致等,帮助读者全面掌握这两种方法,提高数据分析效率。
36 8
|
15天前
|
数据挖掘 索引 Python
Pandas数据读取:CSV文件
Pandas 是 Python 中强大的数据分析库,`read_csv` 函数用于从 CSV 文件中读取数据。本文介绍 `read_csv` 的基本用法、常见问题及其解决方案,并通过代码案例详细说明。涵盖导入库、读取文件、指定列名和分隔符、处理文件路径错误、编码问题、大文件读取、数据类型问题、日期时间解析、空值处理、跳过行、指定索引列等。高级用法包括自定义列名映射、处理多行标题和注释行。希望本文能帮助你更高效地使用 Pandas 进行数据读取和处理。
65 13