Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于另一列中的多个变量打印两列?_Python_Pandas_Pandas Groupby - Fatal编程技术网

Python 基于另一列中的多个变量打印两列?

Python 基于另一列中的多个变量打印两列?,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有一个数据框,看起来像这样: 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-

我有一个数据框,看起来像这样:

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
如何在“Symbol”列中为每只股票创建多个绘图,以绘制“金额”列和截止日期的“投资组合价值”

以下是到目前为止我得到的信息:

grouped = df.groupby(['Symbol'])
for key, group in grouped:
    group.plot('Date', 'Amount', label = key)
这为每个符号提供了一个单独的绘图,如下所示:

无论出于何种原因,我都无法找出如何在同一图表上绘制另一列(y2)。如何为每个符号获取此值:

基于此,您可以使用
set_index()
选择要一起打印的两列,然后调用
.plot

grouped = df.groupby(['Symbol'])
for key, group in grouped:
    group.set_index('Date')[['Amount','Portfolio Value']].plot(title = key)

请尝试下面给定的代码。您只需将尽可能多的列放入列表并指定给y轴:

group.plot(x='Date', y=['Amount', 'Portfolio Value'], title=key)

我猜应该是“等一下”,因为这就是在Matlab中在同一绘图上绘制多行的方式,matplotlib就是基于此。在for循环中尝试以下操作:
group。set_index('Date')[[['Amount','Portfolio Value']]]。绘图(label=key)
我目前没有使用matplotlib。我使用Spyder作为我的IDE,当我运行程序时,它将在屏幕的右上角显示绘图。想想group.plot在熊猫图书馆里,但我可能完全错了。@Terry,这很有效!谢谢我还添加了title=key,它给了我每个符号的标题。很好!,我将用这个创建一个答案,好吗?