Python 基于Pandas中的特定列生成子图

Python 基于Pandas中的特定列生成子图,python,pandas,Python,Pandas,我有一个pandas数据框,其中包含给定点上各种函数的多项式近似,多项式近似的阶数可变。它的排列方式是,第一列是函数名,第二列是x值,第2-5列是相应次数多项式的近似值。我想为每个函数绘制一个图,显示该函数近似值的收敛性。我知道一种方法是根据第一个列名将数据帧分解为单独的数据帧,但我想知道是否有更优雅的方法 编辑以澄清: 所以在数据框中,有两个不相关的函数,比如a和b。第二列包含x值,第三列和第四列是x的函数。所以看起来像 fnctn x y1 y2 0 a 1 2

我有一个pandas数据框,其中包含给定点上各种函数的多项式近似,多项式近似的阶数可变。它的排列方式是,第一列是函数名,第二列是x值,第2-5列是相应次数多项式的近似值。我想为每个函数绘制一个图,显示该函数近似值的收敛性。我知道一种方法是根据第一个列名将数据帧分解为单独的数据帧,但我想知道是否有更优雅的方法

编辑以澄清: 所以在数据框中,有两个不相关的函数,比如a和b。第二列包含x值,第三列和第四列是x的函数。所以看起来像

   fnctn  x  y1  y2
0     a  1   2   3
1     a  2   3   2
2     a  3   4   3
3     a  4   3   4
4     a  5   2   3
5     b  1   1   2
6     b  2   4   6
7     b  3   9   12
8     b  4   16  20
9     b  5   25  30
我想要一个y1和y2的图,其中第一列是a,在一个图上,在另一个y1和y2的图上,第一列是b


谢谢,但我可能应该进一步澄清这个问题。我想这样做,但对于单独图表第一列中的每个函数。相应地修改答案!
import pandas
from matplotlib import pyplot as plt
df = pandas.DataFrame({'fnctn':['a','a','a','b','b','b'],'x':[1,2,3,1,2,3],'y1':[2,3,4,3,2,2],'y2':[3,2,3,4,3,2]})

In [19]: df
Out[19]: 
  fnctn  x  y1  y2
0     a  1   2   3
1     a  2   3   2
2     a  3   4   3
3     b  1   3   4
4     b  2   2   3
5     b  3   2   2

for f in set(df['fnctn']): 
     df[df['fnctn']==f].plot(x='x')