假设一个DataFrame有1000行,100个列,那么当你使用print语句输出DataFrame时,会输出全部的数据么?答案是不会的,这样做毫无意义,那么默认会输出多少行数据,多少列数据呢?pandas对于这类设置专门提供了查看和配置的方法,他们分别是:
常用的配置项如下
编号 | 参数 | 描述 |
---|---|---|
1 | display.max_rows | 要显示的最大行数 |
2 | display.max_columns | 要显示的最大列数 |
3 | display.expand_frame_repr | 显示数据帧以拉伸页面 |
4 | display.max_colwidth | 显示最大列宽 |
5 | display.precision | 显示十进制数的精度 |
想要知道display.max_rows的值是多少,需要使用get_option方法
import pandas as pd
print("display.max_rows = ", pd.get_option("display.max_rows"))
程序输出结果
display.max_rows = 60
修改选项配置,使用set_option方法
import pandas as pd
pd.set_option('display.max_rows', 20)
print("display.max_rows = ", pd.get_option("display.max_rows"))
程序输出结果
display.max_rows = 20
reset_option方法将选项恢复成原来的默认值
import pandas as pd
pd.set_option('display.max_rows', 20)
print("display.max_rows = ", pd.get_option("display.max_rows"))
pd.reset_option('display.max_rows')
print("display.max_rows = ", pd.get_option("display.max_rows"))
程序输出结果
display.max_rows = 20
display.max_rows = 60
describe_option方法输出选项的说明
import pandas as pd
pd.describe_option('display.max_rows')
程序输出结果
display.max_rows : int
If max_rows is exceeded, switch to truncate view. Depending on
`large_repr`, objects are either centrally truncated or printed as
a summary view. 'None' value means unlimited.
In case python/IPython is running in a terminal and `large_repr`
equals 'truncate' this can be set to 0 and pandas will auto-detect
the height of the terminal and print a truncated object which fits
the screen height. The IPython notebook, IPython qtconsole, or
IDLE do not run in a terminal and hence it is not possible to do
correct auto-detection.
[default: 60] [currently: 60]
option_context是上下文管理器,用于临时设置语句中的选项,退出上下文管理器时,选项值自动回复
import pandas as pd
with pd.option_context('display.max_rows', 20):
print(pd.get_option('display.max_rows'))
print(pd.get_option('display.max_rows'))
程序输出结果
20
60
QQ交流群: 211426309