在显示数据帧等时,如何限制Pandas中的列宽?我知道display.max_colwidth
,但它不影响列名。另外,我不想把名字分开,而是要截断。在
如果我设置display.max_colwidth
,它肯定会限制值,并用省略号将它们缩短,但列名保持较长且不受影响。我在documentation中没有看到这一点,也没有在大线程here或{a3}中看到它。是虫子吗?我知道我可以截断列的名称,但我希望它们长一些,否则只在显示时缩短。在
我想说的是,这就是发生的事情:
之前
State area_harveste_2016_1000_acres area_harvested_2017_1000_acres yield_per_acr_2016_bushels yield_per_acre_2017_bushels
4 Alabama 315 235 120.0 165.0
更改宽度
^{pr2}$之后
State area_harveste_2016_1000_acres area_harvested_2017_1000_acres yield_per_acr_2016_bushels yield_per_acre_2017_bushels
4 A... 315 235 1... 1...
更新
目前,这是熊猫的确认版本(截至20.3版本,#7059和{a5}问题。在解决之前,我编写了一个解决方案,它设置和取消设置max_colwidth
,并使用rename截断。如果没有这个答案,我是做不到的
def pf(df, L=15):
"""Limit ENTIRE column width (including header)"""
O = pd.get_option("display.max_colwidth")
pd.set_option("display.max_colwidth", L)
print(df.rename(columns=lambda x: x[:L - 3] + '...' if len(x) > L else x))
pd.set_option("display.max_colwidth", O)
目前没有回答
相关问题 更多 >
编程相关推荐