在Pandas中并排显示两个数据帧

时间:2017-10-21 03:36:35

标签: python pandas dataframe

我有两个数据帧,每个数据帧有10行,我试图使用

并排显示它们
print df, df2

但它正在提供这样的输出

               Last       High   High_Perc
170     0.01324000 0.03822200 65.36026372
194     0.00029897 0.00052040 42.54996157
163     0.00033695 0.00058000 41.90517241
130     0.00176639 0.00282100 37.38426090
78      0.00003501 0.00005552 36.94164265
13      0.00009590 0.00014814 35.26393952
58      0.00002149 0.00003228 33.42627014
124     0.00009151 0.00013700 33.20437956
32      0.00059649 0.00089000 32.97865169         Last        Low    Low_Perc
170     0.01324000 0.01204685 65.36026372
194     0.00029897 0.00029000 42.54996157
163     0.00033695 0.00032270 41.90517241
130     0.00176639 0.00171874 37.38426090
78      0.00003501 0.00003450 36.94164265
13      0.00009590 0.00009200 35.26393952
58      0.00002149 0.00002140 33.42627014
124     0.00009151 0.00009000 33.20437956
32      0.00059649 0.00059001 32.97865169

我尝试过以下选项,但我仍然无法将它们并排设置

    pd.set_option('display.max_rows', 500)
    pd.set_option('display.max_columns', 500)
    pd.set_option('display.width', 10000)
    pd.set_option('display.float_format', lambda x: '%.8f' % x)
    pd.options.display.max_columns = None

请帮忙

2 个答案:

答案 0 :(得分:4)

不幸的是,print不知道在打印数据帧时并排平铺数据帧。它会调用每个df' str并逐个打印它们。

在打印前尝试连接:

print pd.concat([df.reset_index(drop=1).add_suffix('_1'),
            df2.reset_index(drop=1).add_suffix('_2')], axis=1).fillna('')

答案 1 :(得分:1)

尝试这样的事情:

import izip_longest from itertools
print '\n'.join([ia + ib from ia, ib in izip_longest(
    str(df).split('\n'), str(df2).split('\n'), fillvalue = '')])

如果最后一个更长,则可以调整填充值的长度。