如何漂亮地打印整个 Pandas 系列或 DataFrame?
在本文中,我们将看到如何漂亮地打印整个熊猫系列/数据框。
有两种方法可以漂亮地打印整个熊猫系列/数据框:
- 使用 pd.set_options() 方法
- 使用 pd.option_context() 方法
方法一:使用 pd.set_options() 方法
设置指定选项的值。有各种漂亮的打印选项可用于此方法。
例如 display.max_columns、display.max_colwidth、display.max_rows、display.colheader_justify、display.precision 等。 下面讨论一些漂亮的打印选项:
- display.max_columns: pandas 应该打印的最大列数。如果 None 作为参数提供,则打印所有列。
- display.max_rows :pandas 应该打印的最大行数。如果 None 作为参数提供,则打印所有行。
- display.colheader_justify :控制列标题的对齐方式
- display.precision :以小数点后的位数表示的浮点输出精度,用于常规格式和科学记数法。
- display.date_dayfirst :当为 True 时,首先打印和解析日期,例如 20/12/2020
- display.date_yearfirst :当为 True 时,首先打印和解析日期,例如 2020/12/20
- display.width :以字符为单位的显示宽度。如果设置为 None,pandas 将正确自动检测宽度。
下面是实现:
Python3
import pandas as pd
# Create a dataframe
df = pd.DataFrame({
'Product_id': ['ABC', 'DEF', 'GHI', 'JKL',
'MNO', 'PQR', 'STU', 'VWX'],
'Stall_no': [37, 38, 9, 50, 7, 23, 33, 4],
'Grade': [1, 0, 0, 2, 0, 1, 3, 0],
'Category': ['Fashion', 'Education', 'Technology',
'Fashion', 'Education', 'Technology',
'Fashion', 'Education'],
'Demand': [10, 12, 14, 15, 13, 20, 10, 15],
'charges1': [376, 397, 250, 144, 211, 633, 263, 104],
'charges2': [11, 12, 9, 13, 4, 6, 13, 15],
'Max_Price': [4713, 10352, 7309, 20814, 9261,
6104, 5257, 5921],
'Selling_price': [4185.9477, 9271.490256, 6785.701362,
13028.91782, 906.553935, 5631.247872,
3874.264992, 4820.943]})
display(df)
Python3
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', 1000)
pd.set_option('display.colheader_justify', 'center')
pd.set_option('display.precision', 2)
display(df)
Python3
with pd.option_context('display.max_rows', 5,
'display.max_columns', None,
'display.width', 1000,
'display.precision', 3,
'display.colheader_justify', 'left'):
display(df)
输出:
我们将在 df 上面使用 set_options() 方法的一些选项来查看一行中的所有行、所有列、所有列,列标题居中对齐,并将每个浮点值的小数点后的位数四舍五入为 2。
蟒蛇3
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', 1000)
pd.set_option('display.colheader_justify', 'center')
pd.set_option('display.precision', 2)
display(df)
输出:
通过 pd.set_options() 方法设置后,所有下一个数据帧打印命令都会使用相同的设置。
方法二:使用 pd.option_context()
pd.set_option()方法为显示数据框提供永久设置。 pd.option_context() 临时设置 with 语句上下文中的选项。 pd.option_context() 是上述 pd.set_options() 的单行代码,具有临时作用。
以下代码将上述 df 打印为 5 行,所有列,一行中的所有列都带有左对齐的列标题,并将每个浮点值的小数点后的位数四舍五入为 3。
蟒蛇3
with pd.option_context('display.max_rows', 5,
'display.max_columns', None,
'display.width', 1000,
'display.precision', 3,
'display.colheader_justify', 'left'):
display(df)
输出: