Python 我可以在pandas中设置可变列宽吗?
我在pandas数据框中有几列带有长字符串的文本,但我只对其中一列感兴趣。是否有一种方法可以使用类似于pd.set_option('max_colwidth',60)的内容,但仅限于单列,而不是扩展my df中所有列的宽度?如果要更改Jupyter笔记本中的显示,可以使用该功能。 要仅对某些列使用此格式,只需通过Python 我可以在pandas中设置可变列宽吗?,python,pandas,Python,Pandas,我在pandas数据框中有几列带有长字符串的文本,但我只对其中一列感兴趣。是否有一种方法可以使用类似于pd.set_option('max_colwidth',60)的内容,但仅限于单列,而不是扩展my df中所有列的宽度?如果要更改Jupyter笔记本中的显示,可以使用该功能。 要仅对某些列使用此格式,只需通过子集参数指示要放大的列。这基本上是HTML和CSS ### Test data df = DataFrame({'text': ['foo foo foo foo foo foo foo
子集
参数指示要放大的列。这基本上是HTML和CSS
### Test data
df = DataFrame({'text': ['foo foo foo foo foo foo foo foo', 'bar bar bar bar bar'],
'number': [1, 2]})
df.style.set_properties(subset=['text'], **{'width': '300px'})
我在新版本的熊猫上找到的最简单的解决方案在《熊猫参考资料》中概述。搜索
display.max\u colwidth
——页面下方大约1/3的地方描述了如何使用它,例如:
pd.set\u选项('max\u colwidth',400)
请注意,这很好地设置了会话的值,或者直到更改为止
如果您只想进行临时更改,请参见关于临时设置上下文,例如:
从熊猫导入选项\u上下文
使用选项_context('display.max_colwidth',400):
显示(df.head())
我还没有找到一种明显的方法来设置各个列,但这种方法只会将需要更多空间的列扩展到您设置的最大值
如果试图调整如何适应屏幕/表格中的内容/为其他列留出空间,也可能会用到
pd。设置选项('precision',2)
,它会更改小数位数。非常好。不幸的是,我认为这对熊猫0.23.0没有任何影响。将此样式应用于my df和其中的目标列,目标列的大小保持不变,而不是为width
提供的值。可能值得强调的是,这设置了最大宽度,而不是固定大小的宽度。