【问题标题】:Display two dataframes side by side in Pandas在 Pandas 中并排显示两个数据框
【发布时间】:2021-11-22 14:23:58
【问题描述】:

我有两个数据框,每个数据框有 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

请帮忙

【问题讨论】:

  • 您不能本机并排显示两个数据帧,因为每个 DataFrame 对象的表示形式都是一个单元,而不是可以混在一起的行序列。如果你想并排显示两个列,你应该先将它们合并到一个单独的数据框中。

标签: python pandas dataframe


【解决方案1】:

不幸的是,print 在打印数据帧时不知道将它们并排平铺。它调用每个dfstr 并一一打印出来。

在打印之前尝试连接:

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

【讨论】:

  • 为什么在 OP 的代码中的 df 似乎有相同的索引时要重置索引?
  • 如果结果df中没有NaN,为什么要.fillna('')
  • @wjandrea 此答案下的 cmets 在某些时候被删除了
【解决方案2】:

试试这样的:

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

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

【讨论】:

  • 抛出此错误文件“test.py”,第 5 行 import izip_longest from itertools ^ SyntaxError: invalid syntax
  • @user3198755 -- 谢谢 -- 已修复!
猜你喜欢
  • 2016-12-11
  • 2015-10-17
  • 2018-03-14
  • 1970-01-01
  • 2021-06-24
  • 1970-01-01
  • 1970-01-01
  • 2020-11-10
相关资源
最近更新 更多