我正在协作,并使用以下代码创建了一个数据框架:
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