临时更改熊猫的 set_option 以显示数据框

ste*_*ven 3 python pandas

我正在使用 Jupyter 笔记本并导入了很多DataFrames,其中一个包含很长的字符串。因此,我想在pandas不影响全局设置的情况下临时更改' 显示选项。我尝试使用with

with pd.set_option('display.max_colwidth', 220): 
    df.head()
Run Code Online (Sandbox Code Playgroud)

但它不起作用并返回 AttributeError: __enter__.

我错过了什么吗?

piR*_*red 5

pandas.option_context

with pd.option_context('display.max_colwidth', 220):
  print(df.head())
Run Code Online (Sandbox Code Playgroud)

考虑 d1

d1 = pd.DataFrame(dict(A=['brown', 'blue', 'blue'*20]))

print(d1)

                                                   A
0                                              brown
1                                               blue
2  bluebluebluebluebluebluebluebluebluebluebluebl...
Run Code Online (Sandbox Code Playgroud)

可以看到列宽不够长

with pd.option_context('display.max_colwidth', 220):
  print(d1.head())                                                           

    A
0                                                                             brown
1                                                                              blue
2  blueblueblueblueblueblueblueblueblueblueblueblueblueblueblueblueblueblueblueblue
Run Code Online (Sandbox Code Playgroud)

显示 HTML

from IPython.display import display, HTML

with pd.option_context('display.max_colwidth', 220):
  display(HTML(d1.to_html()))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明