You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免Colab中Pandas DataFrame列换行显示

解决Pandas DataFrame列自动换行到下方的问题

在Colab中运行以下代码创建DataFrame:

def daily_sma():
  symbol = 'BTCUSDT'
  num_bars = 70 
  timeframe = '1d' 
  bars = exchange.fetch_ohlcv(symbol, timeframe = timeframe, limit = num_bars) 

  df_d = pd.DataFrame(bars, columns = ['timestamp', 'open', 'high', 'low', 'close', 'volume'])
  df_d['timestamp'] = pd.to_datetime(df_d['timestamp'], unit = 'ms') 
  df_d['sma20_d'] = df_d.close.rolling(20).mean()
  df_d = df_d.dropna()

  return df_d

打印时,即使控制台空间充足,sma20_d列仍单独显示在主表下方:

timestamp      open      high       low     close        volume       \
19 2022-09-29  19412.82  19645.52  18843.01  19591.51  406424.93256   
20 2022-09-30  19590.54  20185.00  19155.36  19422.61  444322.95340   
21 2022-10-01  19422.61  19484.00  19159.42  19310.95  165625.13959   
22 2022-10-02  19312.24  19395.91  18920.35  19056.80  206812.47032   
23 2022-10-03  19057.74  19719.10  18959.68  19629.08  293585.75212   

       sma20_d
19  19795.5145
20  19684.2280
21  19558.4320
22  19391.4850
23  19364.2605

仅设置pd.options.display.width = 0无法解决该问题,以下是可行的解决方法:

  • 全局配置:强制所有列同行显示
    修改Pandas的全局显示选项,解除列数和宽度限制,让所有列在同一行输出:

    import pandas as pd
    pd.options.display.max_columns = None
    pd.options.display.width = None
    

    该配置会影响后续所有DataFrame的打印效果,适合长期需要宽表显示的场景。

  • 临时配置:仅针对当前DataFrame
    若不想改变全局设置,可在打印时通过to_string()方法指定参数,仅对当前表格生效:

    print(df_d.to_string(max_columns=None, width=None))
    
  • 补充:避免列内容截断(可选)
    如果部分列内容过长导致自动换行,可额外设置取消列内容截断:

    pd.options.display.max_colwidth = None
    

内容的提问来源于stack exchange,提问作者MUHAMMAD LABEEB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 02:31:31