我想在一行中显示 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
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),输出显示的宽度不受限制,允许每一行显示在一行中。
一个选项(唯一的一个?)是将 CSS white-space 更改为
"nonwrap"
与 set_properties
:
(
df
.set_axis(range(len(df.columns)), axis=1)
.style.set_properties(
**{"white-space": "nowrap"}
)
)
输出: