【发布时间】:2017-07-20 19:33:55
【问题描述】:
我有两个包含不同值但结构相同的数据框:
df1 =
0 1 2 3 4
D 0.003073 0.014888 0.155815 0.826224 NaN
E 0.000568 0.000435 0.000967 0.002956 0.067249
df2 =
0 1 2 3 4
D 0.746689 0.185769 0.060107 0.007435 NaN
E 0.764552 0.000000 0.070288 0.101148 0.053499
我想在一个分组条形图中绘制两个数据框。此外,每一行(索引)都应该是一个子图。
其中一个可以直接使用 pandas 轻松实现:
df1.T.plot(kind="bar", subplots=True, layout=(2,1), width=0.7, figsize=(10,10), sharey=True)
我尝试使用
加入他们pd.concat([df1, df2], axis=1)
这会产生一个新的数据框:
0 1 2 3 4 0 1 2 3 4
D 0.003073 0.014888 0.155815 0.826224 NaN 0.746689 0.185769 0.060107 0.007435 NaN
E 0.000568 0.000435 0.000967 0.002956 0.067249 0.764552 0.000000 0.070288 0.101148 0.053499
但是,使用上述方法绘制数据框不会对每列的条进行分组,而是将它们分开处理。对于每个子图,这会导致 x 轴按列的顺序带有重复的刻度,例如0,1,2,3,4,0,1,2,3,4.
有什么想法吗?
【问题讨论】: