【问题标题】:Dataframe column not showing in one line数据框列未在一行中显示
【发布时间】:2022-06-30 13:36:06
【问题描述】:

我有一个从 csv 文件导入的数据框,并且我设置了 ('display.max_colwidth', None) 选项仍然是列 (名为 'Week' 的列)值(它们是字符串)分为两行。我应该写什么以便它出现在一行中?

有一件事是,如果我显示较少的列,那么它会出现一行(在上面的图片中,我设置了显示所有列的选项,尽管它们在截断的屏幕截图中不可见)。如下图所示。

【问题讨论】:

    标签: pandas dataframe


    【解决方案1】:

    pd.set_option 一次设置一个选项。如果要设置多个选项,则必须多次调用它。

    你的情况是:

    pd.set_option('display.max_rows', None)
    pd.set_option('display.max_columns', None)
    pd.set_option('display.max_colwidth', None)
    

    或者,您可以使用 for 循环设置所有这些选项:

    options = {'display.max_rows': None, 
               'display.max_columns': None, 
               'display.max_colwidth', None}
    
    for option, value in options.items():
        pd.set_option(option, value)
    

    【讨论】:

    • 不要对副作用使用列表推导,使用经典循环:for option, value in options.items(): pd.set_option(option, value)
    • 我不知道这会导致任何问题,感谢您指出!我会修正我的答案。
    • 这只是一种不好的做法,这会无用地创建一个[None, None, None] 列表(more on this in this Q/A)。您可以将其用于代码高尔夫;)
    • 顺便说一句,不需要相信我;)
    • 还是不行。实际上,我之前曾尝试过,但它不起作用,所以我只是将所有语句合二为一。我更新了截图,你可以看看
    【解决方案2】:

    对我有用的是this answer。它修改了dataframe的style选项的CSS。

    我将代码放在这里以供快速参考,否则链接将来会损坏。

    # @RomuloPBenedetti's answer, check out the link
    df.style.set_table_styles([{'selector': 'td', 'props': 'white-space: nowrap !important;'}])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-19
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-14
      • 2020-08-01
      相关资源
      最近更新 更多