一文速学-Pandas数据展示选项设置详解+实例代码操作展示

news/2024/12/12 22:21:57/

目录

前言

一、获取数据展示参数

二、可选展示选项

1.describe_option()

 2.get_option()/set_option()

3.reset_option()

4. option_context()

三、 在Python/IPython环境中设置启动选项

 四、常用选项

1.display.max_rows/display.max.columns

 2.display.expand_frame_repr

 3.display.large_repr

4.display.max_colwidth

 5.display.max_info_columns

6.display.max_info_rows

 7.display.precision

 8.display.chop_threshold

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢


前言

Pandas选项一般在数据展示和分析使用的比较频繁,尤其是配合上Jupyter Notebook使用敏捷开发时进行数据展示时,总会遇到一两个展示的问题比较头疼。而这又会牵扯到很多可视化效果的问题(比如pandas表默认科学计数法,无法展示全部数据等)。故了解Pandas选项设置是有必要的,这篇文章我会将一些pandas常用的选项设置元素一一列出其作用以及代码修改效果,另外会列出pandas部门优化选项设置,帮助更好的使用pandas。

Pandas数据分析系列专栏已经更新了很久了,基本覆盖到使用pandas处理日常业务以及常规的数据分析方方面面的问题。从基础的数据结构逐步入门到处理各类数据以及专业的pandas常用函数讲解都花费了大量时间和心思创作,如果大家有需要从事数据分析或者大数据开发的朋友推荐订阅专栏,将在第一时间学习到Pandas数据分析最实用常用的知识。此篇博客篇幅较长,涉及到数据可视化等各类操作,值得细读实践一番,我会将Pandas的精华部分挑出细讲实践。博主会长期维护博文,有错误或者疑惑可以在评论区指出,感谢大家的支持。


一、获取数据展示参数

panda有一个选项API,用于配置和定制与DataFrame显示、数据行为等相关的全局行为。

选项具有完整的“虚线样式”,不区分大小写的名称(例如display.max_rows)。可以直接获取/设置选项作为顶级选项属性的属性:
 

pd.options.display.max_rows

 

默认最大为60行展示 ,可以自定义修改:

pd.options.display.max_rows = 999
pd.options.display.max_rows

 

 API由5个相关函数组成,可直接从panda命名空间获得:

  • get_options()/set_option()-获取/设置单个选项的值。
  • reset_option()-将一个或多个选项重置为默认值。
  • describe_option()-打印一个或多个选项的描述。
  • option_context()-使用一组选项执行代码块,这些选项在执行后恢复到以前的设置。

上面的所有函数都接受regexp模式(re.search样式)作为参数,以匹配明确的子字符串:

以下选项将不起作用,因为它匹配多个选项名称,例如display.max_colwidth、display.max.rows、display_max_columns。

二、可选展示选项

1.describe_option()

可以使用describe_option()获取可用选项及其描述的列表。当在没有参数的情况下调用describe_option()时,将打印出所有可用选项的描述。

pd.describe_option()

 2.get_option()/set_option()

如上所述,get_option()和set_option()可从panda命名空间获得。要更改选项,则调用set_option(“选项正则表达式”,new_value)。

 选项“mode.sim_interactive”主要用于调试目的。

3.reset_option()

您可以使用reset_option()还原为设置的默认值

 也可以一次重置多个选项(使用正则表达式):

pd.reset_option("^display")

4. option_context()

option_context()上下文管理器已通过top-levelAPI公开,允许使用给定的选项值执行代码。退出with块时,选项值将自动重置:

三、 在Python/IPython环境中设置启动选项

在Python/IPython环境中使用启动脚本来导入panda并设置选项,可以提高panda的工作效率。为此,在所需配置文件的启动目录中创建.py或.ipy脚本。启动文件夹位于默认IPython配置文件中的示例可以在以下位置找到:

$IPYTHONDIR/profile_default/startup

 更多信息可以在IPython文档中找到。panda的启动脚本示例如下:

import pandas as pdpd.set_option("display.max_rows", 999)
pd.set_option("display.precision", 5)

 四、常用选项

1.display.max_rows/display.max.columns

display.max_rows和display.max.columns设置显示的最大行数和列数。

pd.set_option("display.max_rows", 8)pd.set_option("display.min_rows", 4)

 2.display.expand_frame_repr

display.expand_frame_repr允许DataFrame的表示在页面上延伸,覆盖所有列。

df = pd.DataFrame(np.random.randn(5, 50))pd.set_option("expand_frame_repr", True)df

 3.display.large_repr

display.large_repr将超过max_columns或max_rows的数据帧显示为截断帧或摘要。

df = pd.DataFrame(np.random.randn(10, 10))
pd.set_option("display.max_rows", 5)
pd.set_option("large_repr", "truncate")
df

pd.set_option("large_repr", "info")
df

 

4.display.max_colwidth

 display.max_colwidth设置列的最大宽度。此长度或更长的单元格将用省略号截断。

df = pd.DataFrame(np.array([["foo", "bar", "bim", "uncomfortably long string"],["horse", "cow", "banana", "apple"],])
)
pd.set_option("max_colwidth", 40)
df

 

pd.set_option("max_colwidth", 6)
df

 

 5.display.max_info_columns

为调用info()时显示的列数设置阈值。

df = pd.DataFrame(np.random.randn(10, 10))pd.set_option("max_info_columns", 11)df.info()

 

 

pd.set_option("max_info_columns", 5)
df.info()

 

6.display.max_info_rows

 info()通常会显示每列的空计数。对于大型DataFrame,这可能非常缓慢。max_info_rows和max_info_cols分别将空检查限制到指定的行和列。info()关键字参数null_counts=True将覆盖此属性。

df = pd.DataFrame(np.random.choice([0, 1, np.nan], size=(10, 10)))
df

pd.set_option("max_info_rows", 11)
df.info()

 

 7.display.precision

display.precision以小数位数设置输出显示精度。

df = pd.DataFrame(np.random.randn(5, 5))
pd.set_option("display.precision", 7)
df

 

pd.set_option("display.precision", 4)
df

 

 8.display.chop_threshold

显示Series或DataFrame时,将舍入阈值设置为零。此设置不会更改存储数字的精度。

df = pd.DataFrame(np.random.randn(6, 6))
pd.set_option("chop_threshold", 0)
df

 

pd.set_option("chop_threshold", 0.5)
df

 


点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。


http://www.ppmy.cn/news/22725.html

相关文章

【自学Docker】Docker login logout

大纲 Docker login & logout docker login命令 docker login 命令用于登陆到一个 Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。 如果用户使用 docker login 命令登录官方仓库,首先我们需要在官方仓库注册一个账…

基于 Mac 通过 VMware-Fusion 在 Kylin-Server-10-SP2 上部署 DM8 数据库

在 Kylin-Server-10-SP2 上部署 DM8 数据库背景安装所需资源下载安装 VMware-Fusion安装 Kylin-Server安装 DM8背景 主要为达梦数据库认证管理员培训,提供练习实操环境。 达梦数据库管理员的培训内容包括: 达梦数据库的安装、建库、用户权限管理、备份、…

【重庆邮电大学协办】2023年第六届数据挖掘与知识发现国际会议(DMKD 2023)

2023年第六届数据挖掘与知识发现国际会议(DMKD 2023) 重要信息 会议网址:www.icdmkd.org 会议时间:2023年6月24-26日 召开地点:中国-重庆 截稿时间:2023年5月24日 录用通知:投稿后2周内 收录检索:EI…

CMOS图像传感器——了解炫光(Flare)

当来自强光源(如太阳或人造光)的光线直接到达相机镜头的时,它们会反射并反弹到不同的镜头元件、光圈甚至传感器上,可能会降低图像质量并在图像中产生不需要的物体。 这种效果被称为“镜头炫光(lens flare)”,它可以通过多种方式影响图像:通过引入不同颜色的薄雾,可以大幅…

【算法刷题】贪心算法题型及方法归纳

贪心算法特点 从局部最优解推出全局最优,并且想不出来反例。贪心没有明确有规律的套路,而对于贪心的难题,更多的是难在思路上,要用一些转化问题的思维方法,然后,再根据局部最优解推出全局最优。 参考文章…

【JavaEE】什么是线程池

目录 一、线程池的概念 二、线程池的工作流程 (1)线程参数 (2)拒绝策略 (3)线程池的工作流程 (4)线程池的参数设置 三、标准库中的线程池 (1)Execut…

【二分查找法及其应用】

文章目录一. 前提二. 基本思路三. 代码实现四. 封装在STL中的二分查找算法五. 练习一. 前提 待查找的序列是有序的;待查找的 a 采取顺序存储结构。 二. 基本思路 设在升序序列 a [ low…high ] 查找的 k , 首先找中间值 mid a [ ( lowhigh )/2 ] ; 然…

Mask掩码

Python中Mask的用法引例Numpy的MaskedArray模块小于(或小于等于)给定数值大于(或大于等于)给定数值在给定范围内超出给定范围在算术运算期间忽略NaN和/或infinite值All men are sculptors, constantly chipping away the unwanted…