Pandas 不设置列宽(在 Jupiter Notebook /Lab 中)

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

我想在一行中显示 pandas DataFrame 的每一行,正如我搜索的那样,似乎解决方案是将显示列宽设置为无。但是,它不适合我。

这里是一个测试代码来显示问题。 我需要将每一行都放在一行中(所以基本上我希望它能将列宽增加到这样一个点,即'It issssssssssssssssss justtttttttttttttttttttttttttttttt'显示在一行而不是多行中)。

import pandas as pd
pd.set_option('display.max_colwidth', None)
A=pd.DataFrame(['It issssssssssssssssss justttttttttttttttttttttt a tesssssssssssst', 'It is just a test'] )
df=pd.concat([A,A,A,A,A,A,A,A], axis=1)
df

python pandas dataframe jupyter-notebook width
2个回答
0
投票

pd.set_option('display.max_colwidth', None) 选项只影响单个单元格内文本的显示,而不影响数据框的整体布局。要获得在一行中显示每一行的预期结果,您可以使用 pd.set_option('display.width', None) 选项设置数据框的显示宽度。这是您的代码的更新版本:

import pandas as pd

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

A = pd.DataFrame(['It issssssssssssssssss justttttttttttttttttttttt a tesssssssssssst', 'It is just a test'])
df = pd.concat([A, A, A, A, A, A, A, A], axis=1)
print(df)

通过设置pd.set_option('display.width', None),输出显示的宽度不受限制,允许每一行显示在一行中。


0
投票

一个选项(唯一的一个?)是将 CSS white-space 更改为

"nonwrap"
set_properties
:

(
    df
        .set_axis(range(len(df.columns)), axis=1)
        .style.set_properties(
            **{"white-space": "nowrap"}
        )
)

输出:

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