在PyCharm的内置控制台中获得更广泛的输出

mat*_*ier 45 python ipython pycharm pandas

我对使用PyCharm IDE相对较新,并且在内置控制台会话中无法找到更好地塑造输出的方法.我通常使用相当宽的数据帧,这些数据帧很容易适合我的显示器,但是显示器正在切割和包装它们,而不是需要它们.

有没有人知道改变这种行为的设置,以利用我的屏幕的整个宽度?

编辑:我没有足够的声誉发布截图,但链接如下:http: //imgur.com/iiBK3iU

我想在几列之后阻止它包装(例如,'ReadmitRate'列应该紧靠'SNFDaysPerSNFCase'的右侧)

mat*_*ier 51

看起来我错误地认为问题是PyCharm中的问题(例如,在设置或偏好中可以解决).它实际上与控制台会话本身有关.控制台尝试自动检测显示区域的宽度,但是当失败时它默认为80个字符.可以使用以下方式覆盖此行为:

import pandas as pd
desired_width = 320    
pd.set_option('display.width', desired_width)
Run Code Online (Sandbox Code Playgroud)

当然,您可以将其设置为desired_width显示器可以容忍的任何内容.感谢@TidB提出的建议,即我最初的关注点并未集中在正确的区域.


Ido*_*odo 27

对我来说,只是'display.width'在pycharm中设置不够,它仍然以截断的形式显示.

但是,添加选项pd.set_option("display.max_columns", 10)和显示宽度工作,我能够看到在"运行"输出中打印的整个数据框.

  • 这是唯一完全有效的答案。谢谢@Idodo! (6认同)
  • 实际上这些解决了问题: pd.set_option('display.max_columns', None) pd.set_option('display.expand_frame_repr', False) pd.set_option('max_colwidth', -1) (2认同)

Con*_*ngo 16

@mattvivier打印Pandas数据帧时,答案很有效(谢谢!).

但是,如果要打印NumPy数组,还需要设置np.set_printoptions:

import pandas as pd
import numpy as np
desired_width = 320
pd.set_option('display.width', desired_width)
np.set_printoptions(linewidth=desired_width)
Run Code Online (Sandbox Code Playgroud)

请参阅有关NumPy和set_printoptions的文档.


gie*_*s0r 5

def pd_set_df_view_options(max_rows=1000, max_columns=350, display_width=320):

    # Show more than 10 or 20 rows when a dataframe comes back.
    pd.set_option('display.max_rows', max_rows) 
    # Columns displayed in debug view
    pd.set_option('display.max_columns', max_columns)

    pd.set_option('display.width', display_width)

# run
pd_set_df_view_options(max_rows=1000, max_columns=350, display_width=320)
Run Code Online (Sandbox Code Playgroud)