网易首页 > 网易号 > 正文 申请入驻

精华!12大Pandas常用配置技巧

0
分享至

在Pandas的使用过程中,除了数据,我们更多的就是和表格打交道。为了更好地展示一份表格数据,必须前期有良好的设置。文末有配置技巧总结,拿走即用!

本文介绍的是Pandas的常用配置技巧,主要根据options和setings来展开的。强推官网学习地址:

https://pandas.pydata.org/pandas-docs/stable/user_guide/options.html

这是一种国际惯例的导入方式!

import pandas as pd
忽略警告

因为版本的更新,可能Pandas的某些用法在不久将会被移除,经常会出现一些警告(不是报错),配上如下的代码即可忽略相关的警告:

# 忽略警告
import warnings
warnings.filterwarnings('ignore')
float型数据精度 查看默认精度

默认是保留6位小数。通过下面的方式来打印当前的精度:

pd.get_option( 'display.precision')
6
修改精度

将精度设置成2位

pd.set_option( 'display.precision',2)
# 写法2:pd.options.display.precision = 2

然后我们再次打印当前的精度则变成了2位:

pd.get_option( 'display.precision')
2
显示行数 查看显示行数

默认显示的行数是60

pd.get_option("display.max_rows") # 默认是60
60

默认最少的行数是10位:

pd.get_option("display.min_rows") # 最少显示行
10
修改显示行数

修改最大的显示行数成999,然后再查看:

pd.set_option("display.max_rows",999) # 最多显示行数
pd.get_option("display.max_rows")
999

修改最少显示行数:

pd.set_option("display.min_rows",20)
pd.get_option("display.min_rows")
20
重置功能

使用重置reset_option方法后,设置就会变成默认的形式(数值):

pd.reset_option("display.max_rows")
pd.get_option("display.max_rows") # 又恢复到60
60
pd.reset_option("display.min_rows")
pd.get_option("display.min_rows") # 又恢复到10
10
正则功能

如果我们对多个options进行了修改设置,想同时恢复的话,使用正则表达式可以重置多条option。

在这里表示以displacy开头的设置全部重置:

# ^表示以某个字符开始,在这里表示以display开始全部重置
pd.reset_option("^display")
全部重置

如果使用all,则表示对全部的设置进行重置:

pd.reset_option('all')
显示列

既然能够控制显示的行数,当然也是可以控制显示的列数

查看显示列数

查看默认显示的列数是20:

pd.get_option('display.max_columns')

# 另一种写法:通过属性的方式
pd.options.display.max_columns
20
改变列数

修改显示的列数成100:

# 修改成100
pd.set_option('display.max_columns',100)

查看修改后的列数:

# 查看修改后的值
pd.get_option('display.max_columns')
100
显示所有列

如果设置成None,则表示显示全部的列:

pd.set_option('display.max_columns',None)
重置pd.reset_option('display.max_columns')
修改列宽

上面是查看列的数量,下面是针对每个列的宽度进行设置。单列数据宽度,以字符个数计算,超过时用省略号来表示。

默认列宽

默认的列宽是50个字符的宽度:

pd.get_option ('display.max_colwidth')
50
修改列宽

修改显示的列宽成100:

# 修改成100
pd.set_option ('display.max_colwidth', 100)

查看显示的列宽长度:

pd.get_option ('display.max_colwidth')
100
显示所有列

显示全部的列:

pd.set_option ('display.max_colwidth', None)
折叠功能

当我们输出数据宽度,超过了设置的宽度时,是否要折叠。通常使用False不折叠,相反True要折叠。

pd.set_option("expand_frame_repr", True) # 折叠
pd.set_option("expand_frame_repr", False) # 不折叠
代码段修改设置

上面介绍的各种设置,如果有修改的话都是整个环境的;我们还可以只给某个代码块进行临时的设置。

跑出当前的代码块,则会失效,恢复到原来的设置。

假设这里是第一个代码块:

print(pd.get_option("display.max_rows"))
print(pd.get_option("display.max_columns"))
60
20

这里是第二个代码块:

# 当前代码块进行设置

with pd.option_context("display.max_rows", 20, "display.max_columns", 10):
print(pd.get_option("display.max_rows"))
print(pd.get_option("display.max_columns"))
20
10

这里第三个代码块:

print(pd.get_option("display.max_rows"))
print(pd.get_option("display.max_columns"))
60
20

上面的例子我们可以发现:到了指定的代码块之外,设置无效

数字格式化

Pandas中有个display.float_format的方法,能够对浮点型的数字进行格式化输出,比如用千分位,百分比,固定小数位表示等。

如果其他数据类型可以转换为浮点数,也可以使用该方法。

The callable should accept a floating point number and return a string with the desired format of the number
千分位表示

当数据比较大的时候,希望通过千分位的形式来表示数据,一目了然:

df = pd.DataFrame({
"percent":[12.98, 6.13, 7.4],
"number":[1000000.3183,2000000.4578,3000000.2991]})
df

除了%号,我们还可以使用其他的特殊符号来表示:

门槛转换是指什么意思呢?首先这个功能的实现使用的是display.chop_threshold方法。

表示将Series或者DF中数据展示为某个数的门槛。大于这个数,直接显示;小于的话,用0显示。

更改绘图方法

默认情况下,pandas使用matplotlib作为绘图后端,我们可以进行设置修改:

import matplotlib.pyplot as plt
%matplotlib inline

# 默认情况
df1 = pd.DataFrame(dict(a=[5,3,2], b=[3,4,1]))
df1.plot(kind="bar")
plt.show()

更改下绘图后端,变成强大的plotly:

# 写法1
pd.options.plotting.backend = "plotly"

df = pd.DataFrame(dict(a=[5,3,2], b=[3,4,1]))
fig = df.plot()
fig.show()

# 写法2
df = pd.DataFrame(dict(a=[5,3,2], b=[3,4,1]))
fig = df.plot(backend='plotly') # 在这里指定
fig.show()
修改列头对齐方向

默认情况,属性字段(列头)是靠右对齐的,我们可以进行设置。下面看一个来自官网的例子:

pd.describe_option()是打印当前的全部设置,并重置所有选项。下面是部分设置选项:

下面总结了常用的配置,复制即可使用:

import pandas as pd # 国际惯例

import warnings
warnings.filterwarnings('ignore') # 忽略文中的警告

pd.set_option( 'display.precision',2)
pd.set_option("display.max_rows",999) # 最多显示行数
pd.set_option("display.min_rows",20) # 最少显示行数
pd.set_option('display.max_columns',None) # 全部列
pd.set_option ('display.max_colwidth', 100) # 修改列宽
pd.set_option("expand_frame_repr", True) # 折叠
pd.set_option('display.float_format', '{:,.2f}'.format) # 千分位
pd.set_option('display.float_format', '{:.2f}%'.format) # 百分比形式
pd.set_option('display.float_format', '{:.2f}¥'.format) # 特殊符号
pd.options.plotting.backend = "plotly" # 修改绘图
pd.set_option("colheader_justify","left") # 列字段对齐方式
pd.reset_option('all') # 重置



你也「在看」吗?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
凯文-基冈:我患了四期癌症,别在纽卡主场外立我的雕像

凯文-基冈:我患了四期癌症,别在纽卡主场外立我的雕像

懂球帝
2026-06-01 21:26:42
关停三年后,天涯社区今起开放访问:争取6月逐步恢复互动功能

关停三年后,天涯社区今起开放访问:争取6月逐步恢复互动功能

澎湃新闻
2026-06-01 08:02:27
赌王20子女齐聚葬礼,表姐哭到崩溃却非何超琼

赌王20子女齐聚葬礼,表姐哭到崩溃却非何超琼

喜欢历史的阿繁
2026-06-02 00:25:12
徐璐出席线下活动,脸又黑又肿下巴宽大,牙齿突出面相变了

徐璐出席线下活动,脸又黑又肿下巴宽大,牙齿突出面相变了

阿裤趣闻君
2026-06-02 00:23:54
《奥德赛》上映前诺兰遭背刺:奥斯卡神作被一部烂番茄38%的传记片反超

《奥德赛》上映前诺兰遭背刺:奥斯卡神作被一部烂番茄38%的传记片反超

娱圈观察员
2026-06-02 00:29:18
再见了!东莞知名大厂结业!不地道!

再见了!东莞知名大厂结业!不地道!

东莞潮事儿
2026-06-01 13:35:27
金融危机要来?专家预测,2026到2027上半年,世界将爆发金融风暴

金融危机要来?专家预测,2026到2027上半年,世界将爆发金融风暴

混沌录
2026-06-01 22:52:08
法网8强战况:7人晋级,美国队全军覆没

法网8强战况:7人晋级,美国队全军覆没

刘笤说体坛
2026-06-01 23:46:48
打起来了,美军机被击落,以色列军官被斩首,特朗普或从中东撤军

打起来了,美军机被击落,以色列军官被斩首,特朗普或从中东撤军

孤城落叶
2026-06-01 17:44:17
阿尔特塔疯了!8000 万水货一年就卖 阿森纳要换 6000 万英超神锋

阿尔特塔疯了!8000 万水货一年就卖 阿森纳要换 6000 万英超神锋

奶盖熊本熊
2026-06-01 05:13:21
日本正式加入北约援乌PURL计划,俄罗斯被联大纳入冲突暴力黑名单

日本正式加入北约援乌PURL计划,俄罗斯被联大纳入冲突暴力黑名单

史政先锋
2026-05-30 20:55:28
美团第一季营收910亿:同比增5.6% 是宇树最大外部股东

美团第一季营收910亿:同比增5.6% 是宇树最大外部股东

雷递
2026-06-01 18:37:25
亚历山大和主帅公然批评!拿着顶薪打得不如蓝领,球队还当非卖品

亚历山大和主帅公然批评!拿着顶薪打得不如蓝领,球队还当非卖品

你的篮球频道
2026-06-01 08:01:27
印度船只霍尔木兹免费通行 中国油轮运沙特石油 却索要200万过路费

印度船只霍尔木兹免费通行 中国油轮运沙特石油 却索要200万过路费

黑哥讲现代史
2026-06-02 00:48:55
5月31日俄乌最新:辉煌的战果

5月31日俄乌最新:辉煌的战果

西楼饮月
2026-05-31 18:05:56
徐志胜被狗仔拍到携恋爱五年的圈外女友与父母在北京聚餐亲密互动

徐志胜被狗仔拍到携恋爱五年的圈外女友与父母在北京聚餐亲密互动

枫尘余往逝
2026-06-01 14:43:59
伊朗导弹精准袭击美军心脏,穆杰塔巴“同归于尽”战法威震中东?

伊朗导弹精准袭击美军心脏,穆杰塔巴“同归于尽”战法威震中东?

云上乌托邦
2026-06-02 00:30:36
04年平顶山恶魔:8年杀7女,焚尸奸尸,43刀砍杀一人,吓坏法医

04年平顶山恶魔:8年杀7女,焚尸奸尸,43刀砍杀一人,吓坏法医

莫地方
2026-06-02 00:14:43
公然拒挂国旗,订单全给日韩,长荣如今的结局早已注定

公然拒挂国旗,订单全给日韩,长荣如今的结局早已注定

潋滟晴方DAY
2026-05-11 06:31:37
山姆售卖双汇食品打码生产商信息?回应来了…

山姆售卖双汇食品打码生产商信息?回应来了…

北京商报
2026-06-01 14:23:26
2026-06-02 02:08:49
Ai学习的老章 incentive-icons
Ai学习的老章
Ai学习的老章
3426文章数 11164关注度
往期回顾 全部

科技要闻

黄仁勋演讲实录|40年来PC首次重设计!

头条要闻

特朗普:是时候查金库了

头条要闻

特朗普:是时候查金库了

体育要闻

杰威:如果我没受伤,我们能击败马刺

娱乐要闻

奚梦瑶婚礼现场图!一双儿女当花童

财经要闻

宇树过会,杭州赢麻了

汽车要闻

奇瑞集团5月销量24.8万辆 同比增长20.5% 出口18.2万辆再创新高

态度原创

教育
手机
数码
家居
公开课

教育要闻

高考志愿填报时间公布!部分考点公布!

手机要闻

华为nova 16系列支持5A速度!传输、流畅度领先友商17 Pro

数码要闻

惠普推OmniDesk迷你主机:配英特尔新U支持AI加速

家居要闻

自信舒展 高背座椅

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版