电脑基础 · 2023年3月15日

【Python】pd.set_option()的效果与解析

【Python】pd.set_option()的效果与解析

文章目录

  • 【Python】pd.set_option()的效果与解析
    • 1. 介绍
    • 2. API
    • 3. 举例-1
      • 3.1 显示所有行
      • 3.2 显示所有列
      • 3.3 显示列中单独元素的最大长度
    • 4. 举例-2
      • 4.1 换行显示、每行最大显示宽度
    • 5. 参考

1. 介绍

pd.set_option()这个函数主要用于设置DataFrame的显示输出。

  • 在读取到Excel文件或csv文件后,往往会出现数据显示不全(如图)等问题,有时候会影响我们对数据的判断。

使用这个函数后,能够帮助我们更好的显示数据,帮助我们更快的认识数据,能够节省不少时间。

【Python】pd.set_option()的效果与解析

2. API

import pandas as pd
import warnings
import numpy as np
# pandas设置显示宽度
pd.set_option('display.width', 100)
pd.set_option('precision', 1)   # 设置显示数值的精度
# 显示所有列
pd.set_option('display.max_columns', None)
pd.set_option('display.max_columns', 5)  # 最多显示5列
# 显示所有行
pd.set_option('display.max_rows', None)
pd.set_option('display.max_rows', 10)	# 最多显示10行
# 显示小数位数
pd.set_option('display.float_format',lambda x: '%.2f'%x) # 两位
#显示宽度
pd.set_option('display.width', 100)
warnings.filterwarnings('ignore')  # 关闭运行时的警告
# 打印 numpy 时设置显示宽度,并且不用科学计数法显示
np.set_printoptions(linewidth=100, suppress=True)

3. 举例-1

创建数据源的代码如下:

import pandas as pd
df = pd.DataFrame({ 'a':[[1]*20] + [i for i in range(2,101)],
                    'b':[2]*100,
                    'c':[3]*100,
                    'd':[4]*100,
                    'e':[5]*100,
                    'f':[6]*100,
                    'g':[7]*100,
                    'h':[8]*100,
                    'i':[9]*100,
                    'j':[10]*100,
                    'k':[11]*100,
                    'l':[12]*100,
                    'm':[13]*100,
                    'n':[14]*100,
                    'o':[15]*100,
                    'p':[16]*100,
                    'r':[17]*100,
                    's':[18]*100,
                    't':[19]*100,
                    'u':[20]*100,
                    'v':[21]*100,
                    'w':[22]*100,
                    'x':[23]*100,
                    'y':[24]*100,
                    'z':[25]*100})
print(df)

【Python】pd.set_option()的效果与解析

3.1 显示所有行

pd.set_option('display.max_rows', None)
print(df)

【Python】pd.set_option()的效果与解析

3.2 显示所有列

pd.set_option('display.max_columns', None)
print(df)

【Python】pd.set_option()的效果与解析

3.3 显示列中单独元素的最大长度

pd.set_option('max_colwidth', None)
print(df)

【Python】pd.set_option()的效果与解析

4. 举例-2

创建数据源的代码如下:

import pandas as pd
df = pd.DataFrame(np.random.rand(3, 30), columns=list(range(30)))
print(df)

【Python】pd.set_option()的效果与解析

4.1 换行显示、每行最大显示宽度

这个操作,需要几行代码配合操作。其中:

  • pd.set_option(‘expand_frame_repr’,True):True表示列可以换行显示。设置成False的时候不允许换行显示;
  • pd.set_option(‘display.max_columns’, None):显示所有列;
  • pd.set_option(‘display.width’, 80):横向最多显示多少(80)个字符;
pd.set_option('expand_frame_repr', True)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', 80)
df = pd.DataFrame(np.random.rand(3, 30), columns=list(range(30)))
print(df)

【Python】pd.set_option()的效果与解析
注意,上述代码,将这个print()函数去掉,如果使用 jupyter notebook 直接输入df 回车进行输出,你会发现:

  • 换行没有产生作用。
    【Python】pd.set_option()的效果与解析

5. 参考

【1】https://blog.csdn.net/weixin_52860733/article/details/127817923
【2】https://blog.csdn.net/weixin_41261833/article/details/119222439