- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
我们在 jupyter notebook 中使用 pandas 显示 DataFrame 的数据时, 由于屏幕大小,或者数据量大小的原因,常常会觉得显示出来的表格不是特别符合预期.
这时,就需要调整 pandas 显示 DataFrame 的方式。 pandas 为我们提供了很多调整显示方式的参数,具体参见文末附录中的链接。 本篇介绍几个我经常用到的参数来抛砖引玉.
对于参数的控制, pandas 提供了完整的方法.
以 max_columns (显示最大的列数)为例,演示上面各个函数的使用:
import pandas as pd
pd.describe_option("display.max_columns")
这里显示了 max_columns 参数的详细信息,包括默认值和当前的值.
我们先设置此参数的值,然后再获取值看看:
pd.set_option("display.max_columns", 10)
pd.get_option("display.max_columns")
# 运行结果>>>
# 10
max_columns 参数的值变成了 10 .
最后重置此参数的值:
pd.reset_option("display.max_columns")
pd.get_option("display.max_columns")
# 运行结果>>>
# 20
max_columns 参数的值又恢复成了 20 .
上面这4个函数是我们设置参数的过程进程会用到的, 下面演示几个常用参数的设置后的效果.
控制行列相关的参数,多数情况是为了让数据能够更好的显示在屏幕上。 我比较常用的有以下三个:
控制显示的最大行数。 随机生成一个20行的数据, max_rows 的默认值是60,所以 20 行数据会全部显示出来.
df = pd.DataFrame(np.random.rand(20, 4))
df.columns = list("ABCD")
df
如果需要截一个数据概要的图, 20 行就太多了,可以设置显示的函数少一些.
pd.set_option("display.max_rows", 10)
df
设置之后,显示前后 5 行,中间的用省略号(...)表示.
这个参数是控制显示的最大列数.
df = pd.DataFrame(np.random.rand(5, 14))
df.columns = list("ABCDEFGHIJKLMN")
df
显示很长,屏幕窄的话会出现滚动条.
设置 max_columns=5 。
pd.set_option("display.max_columns", 5)
df
这个参数是设置单个列的宽度的,如果某个列的内容太长,可以用这个参数来控制。 比如:
df = pd.DataFrame({
"ID": [1, 2, 3 ],
"title": ["title01", "title02",
"long long long long long title"],
})
df
某个特别长的值会将列的宽度撑大,如果列比价多的时候,会浪费显示的空间.
通过 max_colwidth 调整列的最大宽度.
pd.set_option("display.max_colwidth", 10)
df
设置最多显示 10 个字符,这样,显示起来没有那么突兀了.
除了行列的调整,还有一种就是数值精度的调整。 数值精度的调整有个好处是不用修改原始数据,只是控制它显示出来的样子.
precision 是调整数据显示的精度的参数.
调整前:
df = pd.DataFrame(np.random.rand(3, 4))
df.columns = list("ABCD")
df
调整后:
pd.set_option("display.precision", 2)
df
float_format也是调整精度的,不过更加灵活,还可以控制格式化显示效果。 调整前:
df = pd.DataFrame(np.random.rand(3, 4))
df.columns = list("ABCD")
df
调整后:
pd.set_option("display.float_format",
"{:.2%}".format)
df
直接转换成百分比方式显示,比 precision 更加直观.
chop_threshold 帮助我们在显示时忽略掉不关注的数据.
比如:
df = pd.DataFrame(np.random.rand(3, 4))
df.columns = list("ABCD")
df
对于 0.9 以下的数据,我们不太关心,那么:
pd.set_option("display.chop_threshold", 0.9)
df
这样, 0.9 以下的数据都显示成 0 ,便于我们观察有多少有效数据.
注意 :这里调整的都是数据显示出来的样子,数据实际并没有改变。 比如上面很多显示为 0.0 的数据,在 df 中并不是 0.0 ,还是原来的值.
pandas 中能够调整参数还有很多,具体可以参考: https://pandas.pydata.org/pandas-docs/version/1.5/reference/api/pandas.describe_option.html 。
最后此篇关于【pandas小技巧】--DataFrame的显示参数的文章就讲到这里了,如果你想了解更多关于【pandas小技巧】--DataFrame的显示参数的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我的Angular-Component位于一个flexbox(id =“log”)中。可以显示或隐藏flexbox。 我的组件内部有一个可滚动区域,用于显示日志消息。 (id =“message-li
我真的很困惑 有一个 phpinfo() 输出: MySQL 支持 启用 客户端 API 版本 5.5.40 MYSQL_MODULE_TYPE 外部 phpMyAdmin 显示: 服务器类型:Mar
我正在研究这个 fiddle : http://jsfiddle.net/cED6c/7/我想让按钮文本在单击时发生变化,我尝试使用以下代码: 但是,它不起作用。我应该如何实现这个?任何帮助都会很棒
我应该在“dogs_cats”中保存表“dogs”和“cats”各自的ID,当看到数据时显示狗和猫的名字。 我有这三个表: CREATE TABLE IF NOT EXISTS cats ( id
我有一个字符串返回到我的 View 之一,如下所示: $text = 'Lorem ipsum dolor ' 我正在尝试用 Blade 显示它: {{$text}} 但是,输出是原始字符串而不是渲染
我无法让我的链接(由图像表示,位于页面左侧)真正有效地显示一个 div(包含一个句子,位于中间)/单击链接时隐藏。 这是我的代码: Practice
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
最初我使用 Listview 来显示 oracle 结果,但是最近我不得不切换到 datagridview 来处理比 Listview 允许的更多的结果。然而,自从切换到数据网格后,我得到的结果越来越
我一直在尝试插入一个 Unicode 字符 ∇ 或 ▽,所以它显示在 Apache FOP 生成的 PDF 中。 这是我到目前为止所做的: 根据这个基本帮助 Apache XSL-FO Input,您
我正在使用 node v0.12.7 编写一个 nodeJS 应用程序。 我正在使用 pm2 v0.14.7 运行我的 nodejs 应用程序。 我的应用程序似乎有内存泄漏,因为它从我启动时的大约 1
好的,所以我有一些 jQuery 代码,如果从下拉菜单中选择了带有前缀 Blue 的项目,它会显示一个输入框。 代码: $(function() { $('#text1').hide();
当我试图检查 Chrome 中的 html 元素时,它显示的是 LESS 文件,而 Firefox 显示的是 CSS 文件。 (我正在使用 Bootstrap 框架) 如何在 Chrome 中查看 c
我是 Microsoft Bot Framework 的新手,我正在通过 youtube 视频 https://youtu.be/ynG6Muox81o 学习它并在 Ubuntu 上使用 python
我正在尝试转换从 mssql 生成的文件到 utf-8。当我打开他的输出 mssql在 Windows Server 2003 中使用 notepad++ 将文件识别为 UCS-2LE我使用 file
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我正在尝试执行单击以打开/关闭一个 div 的功能。 这是基本的,但是,点击只显示 div,当我点击“关闭”时,没有任何反应。 $(".inscricao-email").click(function
假设我有 2 张卡片,屏幕上一次显示一张。我有一个按钮可以用其他卡片替换当前卡片。现在假设卡 1 上有一些数据,卡 2 上有一些数据,我不想破坏它们每个上的数据,或者我不想再次重建它们中的任何一个。
我正在使用 Eloquent Javascript 学习 Javascript。 我在 Firefox 控制台上编写了以下代码,但它返回:“ReferenceError:show() 未定义”为什么?
我正在使用 Symfony2 开发一个 web 项目,我使用 Sonata Admin 作为管理面板,一切正常,但我想要做的是,在 Sonata Admin 的仪表板菜单上,我需要显示隐藏一些菜单取决
我试图显示一个div,具体取决于从下拉列表中选择的内容。例如,如果用户从列表中选择“现金”显示现金div或用户从列表中选择“检查”显示现金div 我整理了样本,但样本不完整,需要接线 http://j
我是一名优秀的程序员,十分优秀!