擅长:python、mysql、java
<p>假设数据帧的名称类似于df15、df16、df17,则可以使用它们创建面板,如:</p>
<pre><code>pnl = pd.Panel({2015: df15, 2016: df16, 2017: df17})
</code></pre>
<p>之后,你可以用下面的方法做你在问题中提到的3D绘图:</p>
^{pr2}$
<p><a href="https://i.stack.imgur.com/9Dj5N.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/9Dj5N.png" alt="example of a 3D-plot of your data"/></a></p>
<p>但是,如果我可以从我自己的经验中给你一个关于可读性好的数据可视化的提示,我想许多专业人士会分享:</p>
<p>即使一个数据集是3维或更高维的结构,创建一个设计良好的二维图通常也是一个不错的选择。3D通常会吸引眼球,但为了告知目标受众并显示数据的某些属性,您几乎可以使用2d。考虑到这一点,Ami Tavory的方法将是更好的方法,因为数据结构更易于处理:</p>
<pre><code>df15['year'] = 2015
df16['year'] = 2016
df17['year'] = 2017
df = pd.concat([df15, df16, df17]).set_index(['Grave Crimes', 'year'])
f, ax = plt.subplots(1)
for i, y in enumerate(range(2015, 2018)):
data = df.groupby('year').get_group(y)['Cases Recorded']
ax.bar(np.arange(6)+.2*i, data.values, width=.2, label=str(y))
ax.legend()
ax.set_xticklabels(data.index, rotation=15)
</code></pre>
<p><a href="https://i.stack.imgur.com/Mm9bL.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Mm9bL.png" alt="example for 2D-plot of your data"/></a></p>