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 中获取单元格值