【Pandas总结】第三节 Pandas 的显示设置(总结所有常用显示设置)

时间:2022-10-11 12:12:50

在使用pandas时,经常会遇到令人不满意的显示,这时候我们需要调整Pandas的显示设置!显示设置非常的常用,可以给我们写代码带来很多的方便哟~~~

本文总结所有Pandas 常用的显示设置,相信对后续Pandas的使用会有很大帮助;

1. Pandas 显示所有的行和列

这应该是我们最常用的显示设置了,总有些时候我们想要看df里有什么东西,但是print(df)后发现,pandas打印出来的是省略的结果,不给我打印出来我想要的! pandas这个小东西坏得很! 比如我们想看一下所有数据的全貌,但是以下代码的输出为:

file_path=r"E:\VSCODE\2_numpy_pandas\pandas\游戏数据.csv"
df=pd.read_csv(file_path,sep=",|:|;",engine="python",header=0,encoding='gbk')
print(df)

输出: 【Pandas总结】第三节 Pandas 的显示设置(总结所有常用显示设置)

为了避免这种情况,我们需要告诉Pandas, 不要让pandas自作主张,显示所有的行与列,代码如下:

# 显示所有列
pd.set_option('display.max_columns', None)
# 显示所有行
pd.set_option('display.max_rows', None)

之后,我们的打印结果就变为了: 【Pandas总结】第三节 Pandas 的显示设置(总结所有常用显示设置) 可以打印出所有的内容了;

2. 显示指定的行数与列数

和上面的代码完全一样,参数None代表全部显示(参考上面的例子),如果这里给定显示的行列数,就可以显示指定的行列数了,比如,我只想显示5行,代码如下:

pd.set_option('display.max_rows', 5)
file_path=r"E:\VSCODE\2_numpy_pandas\pandas\游戏数据.csv"
df=pd.read_csv(file_path,sep=",|:|;",engine="python",header=0,encoding='gbk')
print(df)

输出如下: 【Pandas总结】第三节 Pandas 的显示设置(总结所有常用显示设置)

3. Pandas 显示不换行

有时,当我们的列非常多的时候,pandas会自作主张,进行自动换行,我们可以通过以下设定来拒绝自动换行;代码如下:

# 不换行显示
pd.set_option('display.width', 1000)

4. 对齐显示

很多时候,我们输出的df显示非常的混乱,看起来非常的不爽,比如以下:

file_path=r"E:\VSCODE\2_numpy_pandas\pandas\Game_Data.csv"
df=pd.read_csv(file_path,engine="python",header=0,encoding='gbk')
print(df)

【Pandas总结】第三节 Pandas 的显示设置(总结所有常用显示设置)

这时我们可以通过以下代码进行列对齐:

pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)

对齐后的输出如下: 【Pandas总结】第三节 Pandas 的显示设置(总结所有常用显示设置)

5.显示精度

pd.set_option('display.precision', 15)  

显示如下: 【Pandas总结】第三节 Pandas 的显示设置(总结所有常用显示设置)

6. 自定义列宽

很多时候,如果一个单元格内的内容过多,会导致显示不全,我们可以通过自定义列宽来全部显示,或者只显示指定位数;代码如下:

pd.set_option("display.max_colwidth", 10)

这里可以看到,日期由于过长,只显示了其中一部分; 【Pandas总结】第三节 Pandas 的显示设置(总结所有常用显示设置)

7. 不显示科学计数法

很多时候,我们并不希望Pandas用科学计数法来显示结果,这时我们可以通过以下设置实现: pd.set_option("display.float_format", "{:,.2f}".format),整体代码如下:

pd.set_option("display.float_format", "{:,.2f}".format)
file_path=r"E:\VSCODE\2_numpy_pandas\pandas\游戏数据.csv"
df=pd.read_csv(file_path,engine="python",header=0,encoding='gbk')
print(df)

输出为: 【Pandas总结】第三节 Pandas 的显示设置(总结所有常用显示设置)

8. 获取设置值

上面的所有方法均为设置,有时我们想要看一看此时此刻的 pandas 到底是怎么设置的,这是我们可以使用get_option 的方法;方法罗列如下:

代码 解释
pd.get_option("display.max_rows") 获取最大显示行数
pd.get_option("display.max_columns") 获取最大显示列数
pd.get_option("display.expand_frame_repr") 获取输出数据宽度超过设置宽度时,表示是否对其要折叠,False不折叠,True要折叠。
pd.get_option("display.max_colwidth") 获取单列数据宽度,以字符个数计算,超过时用省略号表示。
pd.get_option("display.precision") 获取设置输出数据的小数点位数。
pd.get_option("display.width") 获取数据显示区域的宽度,以总字符数计算。
pd.get_option("display.show_dimensions") 获取当数据量大需要以truncate(带引号的省略方式)显示时,该参数表示是否在最后显示数据的维数,默认 True 显示,False 不显示。