Pandas:如何设置列宽


默认情况下,Jupyter Notebook 仅显示 pandas DataFrame 中列的最大宽度为50

但是,您可以使用以下语法强制笔记本显示 DataFrame 每列的完整宽度:

 p.d. set_option (' display.max_colwidth ', None )

这将为整个 Jupyter 笔记本会话设置最大列宽值。

如果您只想暂时显示整个列宽,可以使用以下语法:

 from pandas import option_context

with option_context(' display.max_colwidth ', None ):
    print (df)

最后,您可以使用以下语法重置 Jupyter 笔记本中的默认列宽设置:

 p.d. reset_option (' display.max_colwidth ')

下面的例子展示了如何在实践中使用这些函数。

示例:在 Pandas 中设置列宽

假设我们创建一个 pandas DataFrame,其中一列中包含极长的字符串:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' string_column ': ['A really really long string that contains lots of words', 'More words', 'Words', 'Cool words', 'Hey', 'Hi', 'Sup', 'Yo' ],
                   ' value_column ': [12, 15, 24, 24, 14, 19, 12, 38]})


#view DataFrame
print (df)

                                       string_column value_column
0 A really really long string that contains lots... 12
1 More words 15
2 Words 24
3 Cool words 24
4 Hey 14
5 Hello 19
6 Sup 12
7 Yo 38

默认情况下,pandas 会将string_column修剪为只有 50 的宽度。

要显示列的整个宽度,可以使用以下语法:

 #specify no max value for the column width
p.d. set_option (' display.max_colwidth ', None )

#view DataFrame
print (df)

                                             string_column value_column
0 A really really long string that contains lots of words 12
1 More words 15
2 Words 24
3 Cool words 24
4 Hey 14
5 Hello 19
6 Sup 12
7 Yo 38

请注意,现在将显示string_column中的所有文本。

请注意,使用此方法将为整个 Jupyter 会话设置最大列宽。

为了仅临时显示最大列宽,我们可以使用以下语法:

 from pandas import option_context

with option_context(' display.max_colwidth ', None ):
    print (df)

                                             string_column value_column
0 A really really long string that contains lots of words 12
1 More words 15
2 Words 24
3 Cool words 24
4 Hey 14
5 Hello 19
6 Sup 12
7 Yo 38

要重置默认设置并仅显示每列的最大宽度 50,我们可以使用以下语法:

 p.d. reset_option (' display.max_colwidth ')

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何显示 Pandas DataFrame 中的所有列
如何显示 Pandas DataFrame 中的所有行
Pandas:如何从 DataFrame 中获取单元格值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注