【发布时间】:2020-11-28 20:10:25
【问题描述】:
我有一个如下所示的数据框:
Symbol Date Amount Portfolio Value
0 BLL 2020-01-06 5116.83 5069.42
1 BLL 2020-03-16 5104.98 4615.97
5 BLL 2020-03-17 5116.83 5118.95
6 BLL 2020-06-15 5104.95 5401.712
7 BLL 2020-06-16 5116.83 5570.23
11 IBB 2014-03-04 542.98 179.48
12 IBB 2014-10-10 810.97 262.33
13 IBB 2016-09-30 810.71 289.45
14 IBB 2016-10-03 810.97 290.08
15 IBB 2016-12-29 810.69 267.19
16 IBB 2016-12-30 810.97 265.55
52 SCHE2017-07-05 1915.76 1922.68
53 SCHE2017-08-02 1942.2 2063.10
54 SCHE2017-12-22 1891.79 2158.26
57 SCHE2017-12-26 1942.2 2208.64
60 SCHE2018-12-17 1892.65 1870.20
63 SCHE2018-12-18 1942.2 1927.48
如何为“符号”列中的每只股票创建多个图,按日期绘制“金额”列和“投资组合价值”?
这是我目前所得到的:
grouped = df.groupby(['Symbol'])
for key, group in grouped:
group.plot('Date', 'Amount', label = key)
这为每个符号提供了一个单独的图,如下所示:
无论出于何种原因,我都不知道如何在同一张图上绘制另一列 (y2)。我如何为每个符号得到这个:
【问题讨论】:
-
我猜想像“坚持”之类的东西,因为这是你在 Matlab 中的同一个图上做多行的方式,而 matplotlib 就是基于此。
-
在 for 循环中试试这个:
group.set_index('Date')[['Amount','Portfolio Value']].plot(label = key) -
我目前没有使用 matplotlib。我使用 Spyder 作为我的 IDE,当我运行程序时,它会在屏幕右上角显示绘图。认为 group.plot 在 pandas 库中,但我可能完全错了。
-
@Terry 成功了!谢谢!我还添加了 title = key,它给了我每个符号的标题。
-
很好!我会用这个创建一个答案,好吗?
标签: python pandas pandas-groupby