Home > Enterprise >  How to prevent pandas datafram columns from moving to new line in colab?
How to prevent pandas datafram columns from moving to new line in colab?

Time:11-19

I'm working in colab and created a dataframe using this code:

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

But when I get and print it it does something like:

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  

One column is below the rest of the table even though there is enough space in the console. How can I place this column next to the volume column so it can be more readable.

I have tried to decrease the width between columns but it makes no difference.

pd.options.display.width = 0

CodePudding user response:

You can print with to_string:

print(df.to_string())

# to set a larger, yet not unlimited width
# print(df.to_string(line_width=200))

If you want a permanent change, defined in terms of number of characters:

pd.set_option('display.width', 200)
print(df)

Example:

df = pd.DataFrame(columns=[f'column_{x}' for x in range(10)], index=range(3))

print(df)

print('\n\n# with to_string()')
print(df.to_string())

print('\n\n# with option')
pd.set_option('display.width', 200)
print(df)

Output:

  column_0 column_1 column_2 column_3 column_4 column_5 column_6 column_7  \
0      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN   
1      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN   
2      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN   

  column_8 column_9  
0      NaN      NaN  
1      NaN      NaN  
2      NaN      NaN  


# with to_string()
  column_0 column_1 column_2 column_3 column_4 column_5 column_6 column_7 column_8 column_9
0      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN
1      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN
2      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN


# with option
  column_0 column_1 column_2 column_3 column_4 column_5 column_6 column_7 column_8 column_9
0      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN
1      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN
2      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN      NaN
  • Related