我有一个名为Tabla的DataFrame。我正在为每个列应用一个函数(称为func11
),该函数基本上是用于将特定行与其他行作图(是的,用于针对每列绘制一个数据点)。
我的问题是:如何在func11
中将属性Series作为参数传递,以便可以更好地控制要绘制的行?
我的Tabla的一部分如下所示:
G13 G42
RH1_0_i 12.7973 25.3097
RH2_0_i -3.51892 85.2268
RH1_0 6700.17 -8888.33
RH2_0 7613 -7945.33
n1 2.30668e+11 2.23905e+11
n2 2.08436e+11 1.92139e+11
因此,基本上,我想使用带有额外参数(例如
RH1_0_i
或n1
)的func11来调用Series11属性。到目前为止,我的代码是:
Tabla.apply(func11)
def func11(x):
plt.plot(x.RH1_0_i,x.n1)
plt.plot(x.RH2_0_i,x.n2)
我想要的是:
Tabla.apply(func11,extra_args=(arg1,arg2,arg3,arg4))
def func11(x,extra_args):
plt.plot(x.arg1,x.arg3)
plt.plot(x.arg2,x.arg4)
最佳答案
好的,感谢aman发表的评论,我找到了一种方法:
def func12(x,x1,y1,x2,y2):
X1,X2,Y1,Y2 = x[x1],x[x2],x[y1],x[y2]
plt.plot(X1,Y1)
plt.plot(X2,Y2)
Tabla.apply(func12,args=('RH1_0_i','n1','RH2_0_i','n2'))
因此,通过这种方式,我可以将Series属性作为参数传递给函数。