如何防止pandas数据表列在协作中移动到新行?



我正在协作,并使用以下代码创建了一个数据框架:

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

但是当我得到并打印它的时候它会这样做:

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

可以用to_string代替print:

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

如果您想要永久更改,按字符数定义:

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

的例子:

df = pd.DataFrame(columns=[f'column_{x}' for x in range(10)], index=range(3))
print(df)
print('nn# with to_string()')
print(df.to_string())
print('nn# with option')
pd.set_option('display.width', 200)
print(df)
输出:

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

最新更新