PyCharm:如何在“运行”窗口中显示所有数据帧列而不包装或截断?

问题描述 投票:0回答:1

我面临的问题与如何强制“运行”窗口显示给定pandas数据帧的所有列有关,而不适合窗口的大小(通过截断列名称对我来说,或者通过不显示所有列)。

换句话说,我需要将数据显示在预期的行上,如果窗口视图太小而无法显示所有列,则应显示水平条(通常情况下),以便我轻松遍历数据。

背景:我已经处理了一些数据,我以表格格式自动选择和存储特定“.h5”文件中数据的不同部分。这是使用pandas数据帧和'to_hdf'函数完成的。然后我读了它并获得以下内容:view in the 'Run' output window

数据集由35列(不包括时间列)组成,每个列中包含x个条目。对于这篇文章,它们被任意命名,以说明问题。

注意:

  • 在'Soft Wraps'下的File -> Settings -> Editor -> General中禁用软包裹
  • 我刚刚完成了Python 3.7和PyCharm Community Edition 2018.3.5的全新安装(最初有2019.1版本的问题),一些导入的PyCharm设置来自我的计算机中的PyCharm导出文件
  • 水平滚动条似乎已禁用。在任何时候都不会出现。这很奇怪,因为我的电脑回到了家,给了我水平滚动条
  • 由于“运行”窗口中的输出在运行脚本之前根据窗口的大小进行包装和截断(即,较小的vs全屏窗口),一旦其他效果被删除,水平滚动条很可能会重新激活

我想完成三件事:

  1. 显示数据框的所有列,同时允许我使用水平滚动条滚动浏览这些列(此时似乎已禁用),这意味着:
  2. 没有包装列名称,请参见上图中的标记(1)和(2)。并且由于“运行”窗口的大小限制而没有截断/删除列,请参见同一图像中的标记(3)。
  3. 次要任务:当前,“时间”列(设置为行索引)在此打印输出中仅打印日期,同时还存储小时,分钟和秒。希望这是自动修复1.和2.固定(我的其他表显示完整的日期+小时等,没有问题)。

这就是我尝试过的

我使用了以下两行来改善打印输出:

pd.set_option('display.max_columns', 20)
pd.set_option('display.width', 2000)

这给出了一个简洁的输出,见下文:this

但是,并非显示所有35列,请参阅标记(1)/“...”。分数。当我将允许的列数从20增加到40,pd.set_option('display.max_columns', 40)时,会发生这种情况:happens

我们似乎又回到了原点。幸运的是,其中一个负面影响已经消失,即截断效应,即。我认为删除显示的列。

但是,列的包装仍然会发生,现在有两倍的行数,而应该可以在自己的行上显示所有内容,同时自动显示一个水平栏以让用户遍历此数据。

我也看了这个link,用pandas的set_option方法了解更多选项。除了我使用的其他线路之外,我发现并尝试了这条线,pd.set_option('expand_frame_repr', True)。但它并没有改变我的情况。

有任何想法吗?

dataframe pycharm word-wrap truncation
1个回答
1
投票

我在程序结束时创建了一个最终变量,比如...... end ='end'

然后我在那里放了一个调试断点,并在调试模式下运行程序。它会在结束时停止,您可以在调试模式下打开数据帧,并且可以在整个数据帧中移动,颜色编码不少,其他选项在调试模式下可用。

© www.soinside.com 2019 - 2024. All rights reserved.