gpt4 book ai didi

python - 如何绘制按子索引对齐的 Pandas 数据框列?

转载 作者:太空狗 更新时间:2023-10-30 02:12:47 25 4
gpt4 key购买 nike

我有一个 pandas dataframe df 包含两只股票的财务比率数据:

>>> df
ROIC ROE
STK_ID RPT_Date
600141 20110331 0.012 0.022
20110630 0.031 0.063
20110930 0.048 0.103
20111231 0.063 0.122
20120331 0.017 0.033
20120630 0.032 0.077
20120930 0.050 0.120
600809 20110331 0.536 0.218
20110630 0.734 0.278
20110930 0.806 0.293
20111231 1.679 0.313
20120331 0.666 0.165
20120630 1.039 0.257
20120930 1.287 0.359

我尝试在同一个“RPT_Date”上绘制股票“600141”和“600809”的“ROIC”和“ROE”比率,以衡量它们的表现。

df.plot(kind='bar') 给出如下

enter image description here

图表左侧绘制“600141”,右侧绘制“600809”。比较同一报告日期两只股票的“ROIC”和“ROE”有些不便'RPT_Date'

我想要的是将由相同“RPT_Date”索引的“ROIC”和“ROE”条并排放置在同一组中(每组 4 个条),并且 x 轴仅标记“RPT_Date”,这将清楚地分辨出两只股票的区别。

怎么做?

如果我 df.plot(kind='line') ,它只显示两行,但它应该是四行(2 个股票 * 2 个比率): enter image description here

这是一个错误,还是我可以做些什么来纠正它?谢谢。

我正在使用 Pandas 0.8.1。

最佳答案

如果您取消堆叠 STK_ID,则可以根据 RPT_Date 创建并排绘图。

 In [55]: dfu = df.unstack("STK_ID")

In [56]: fig, axes = subplots(2,1)

In [57]: dfu.plot(ax=axes[0], kind="bar")
Out[57]: <matplotlib.axes.AxesSubplot at 0xb53070c>

In [58]: dfu.plot(ax=axes[1])
Out[58]: <matplotlib.axes.AxesSubplot at 0xb60e8cc>

enter image description here

关于python - 如何绘制按子索引对齐的 Pandas 数据框列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13492530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com