7个有用的Pandas显示选项

news2024/11/25 19:31:16

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

https://avoid.overfit.cn/post/2aad9747867c4807b2cfc128e5eb06b8

作者:Andy McDonald

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Word控件Spire.Doc 【图像形状】教程(13): 如何在C#中对齐word文档上的形状

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

poi-tl实现对Word模板中复杂表格的数据填充

文章目录前言what poi-tlwhy poi-tlHow poi-tl1. 版本问题2. 集成和使用3. SpringEL表达式总结前言 开发时, 我们有时需要进行word类型表格导出, 而对于表格操作. 我们一般可能会倾向于使用 poi 进行操作. 但poi操作比较复杂, 所以就在寻找一种可以快速将内容填充到表格中的工具…

yolov7配置与训练记录(二)

yolov7配置与训练记录(一) 已经完成了环境的配置,下面开始文件内部的操作 yolov7官方下载地址为 git clone https://github.com/WongKinYiu/yolov71 将下载好的预训练权重放在yolov7-main/weights内 需要在yolov7中新建weights文件夹(也是为了方便管理权重文件) 测试 pyth…

单调队列算法总结

背景 单调队列,即为单调递减或者单调递增的队列。队列中的元素只能在队尾入队、从队首或者队尾出队。 单调队列的基本实现就是维护一个双向队列,只有当一个元素是当前最值、或者可能成为最值时才保留,否则出队。 单调队列通常用来解决在滑…

NR 大规模天线设计--1

参考《无线系统设计与国际标准》 概述 空间自由度是多天线系统获得性能增益的源泉。随着有源天线技术理论的出现, 为MIMO维度的扩展奠定了理论基础,有源天线技术在商用移动通讯领域的发展, 对天线的进一步扩展,尤其对信道垂直维…

Java常用API

Java常用API什么是API?Object类的作用:Object类的常用方法:Object的toString方法:Obiect的equals方法ObiectsStringBuilderMathSystem类概述BigDecimal什么是API? 1.API应用程序编程接口。 2.简单来说:就是Java帮我们…

JAVA中变量与常量

文章目录0 写在前面1 变量1.1 声明变量1.2 变量初始化2 常量3 写在最后0 写在前面 所有程序设计语言一样,Java 也使用变量来存储值。常量就是值不变的变量。 1 变量 1.1 声明变量 格式 类型 变量名; 例如: int index; double salary; long earthPop…

华为云发布CodeArts Req需求管理工具,让需求管理化繁为简

摘要:华为云正式发布CodeArts Req,这是一款自主研发的软件研发管理与团队协作工具,旨在助力企业大规模研发转型成功,释放组织生产力。本文分享自华为云社区《华为云发布CodeArts Req需求管理工具,让需求管理化繁为简》…

代码随想录刷题day56 583. 两个字符串的删除操作;72. 编辑距离;编辑距离总结篇

代码随想录刷题day56 583. 两个字符串的删除操作;72. 编辑距离;编辑距离总结篇 关于编辑距离的一些题目。 583. 两个字符串的删除操作 583. 两个字符串的删除操作 - 力扣(Leetcode) 化简这一步不容易想到。原理就是两个都删除…

华为云大数据BI赋能企业数字化发展

企业在数字化转型过程中面临着不少挑战,比如数据整合能力有限、不足的需求快速响应能力、缺乏数据管理机制和保障、自建分析平台成本高等等。所以各大企业都希望通过一个大数据智能系统来全方位帮助企业处理数据分析,做好智能决策。因此,对于…

基于SOPHON TPU架构实现 Faiss 的两个查询接口

文章目录1. Faiss 简介2. 距离度量3. 在 Sophon TPU 上的接口实现3.1 Sophon TPU3.2 indexflat 实现3.3 indexPQ 实现 1. Faiss 简介 Faiss 库是 Facebook 开发的一个用于稠密向量相似性搜索和聚类的库,该库包含有诸多向量相似性搜索的算法。向量相似性搜索是将一…

【Pytorch】第 2 章 :马尔可夫决策过程和动态规划

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

python之对比两张图像的相似度

python之图像背景识别 本着结合实际工作,实际落地并已应用的态度去码文。 python之对比两张图像的相似度 需求:在某个手机端项目中,有多个页面图片,但每个图片都做了相应的修改,由于这种图片非常多,高达上万…

澳亚通过聆讯:上半年营收近3亿美元 元气森林与新希望乳业是股东

雷递网 雷建平 12月6日澳亚集团有限公司(简称:“澳亚集团”)日前通过聆讯,准备在港交所上市。澳亚集团是2022年10月中旬递交招股书,不到2个月时间,澳亚集团就通过上市聆讯,这在最近两年的港交所…

小型扫雪机结构设计

目 录 摘 要 I ABSTRACT II 1、绪论 1 1.1 选题意义 1 1.2小型扫雪机国内发展现状 1 1.2.1国内小型扫雪机械现状 1 1.2.2犁式小型扫雪机 2 1.2.3旋切式小型扫雪机 2 1.2.4国内小型扫雪机械的发展方向 3 1.3国外道路小型扫雪机械技术发展概况 3 1.3.1综合式扫雪 3 1.3.2融雪扫雪…

【华为上机真题 2022】数组组成的最小数字

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

深入探索 Kubernetes 网络模型和网络通信

Kubernetes 定义了一种简单、一致的网络模型,基于扁平网络结构的设计,无需将主机端口与网络端口进行映射便可以进行高效地通讯,也无需其他组件进行转发。该模型也使应用程序很容易从虚拟机或者主机物理机迁移到 Kubernetes 管理的 pod 中。 …

PR-39 TFA 是富含脯氨酸和精氨酸的天然抗菌肽

PR-39 TFA 是富含脯氨酸和精氨酸的天然抗菌肽,是一种非竞争性,可逆和变构的蛋白酶体 (proteasome) 抑制剂。PR-39 TFA 可逆地结合到蛋白酶体的 α7 亚基上,并通过泛素-蛋白酶体途径阻断 NF-κB 抑制剂 IκBα 的降解。PR-39 TFA 刺激小鼠的血…

Java中的final关键字,你清楚吗?

前言 在学习Java基础阶段应该都认识关键字 final,在声明常量和匿名内部类时都会用到它。我们最熟悉的 String 类就是 final类,如果经常查看API源码,肯定还会遇到其他 final类。本篇就来深入了解一下关键字 final,加深对它的运用。 概览 可用…

java计算机毕业设计ssm线上拍卖系统设计6luor(附源码、数据库)

java计算机毕业设计ssm线上拍卖系统设计6luor(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff0…