Применить функцию с рядом атрибутов в качестве аргументов - PullRequest
1 голос
/ 02 мая 2019

У меня есть DataFrame под названием Tabla. Я применяю функцию (называемую func11) для каждого столбца, которая в основном предназначена для построения определенной строки относительно другой строки (да, для построения отдельной точки данных на столбец).

У меня вопрос: как я могу передать атрибут Series в качестве аргументов в моем func11, чтобы я мог лучше контролировать строки, которые должны быть нанесены?

Часть моей Таблы показана ниже:

                 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

Итак, я хочу вызвать func11 с дополнительными аргументами, такими как RH1_0_i или n1, которые являются атрибутами Series.

Пока мой код:

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)

1 Ответ

0 голосов
/ 02 мая 2019

Хорошо, благодаря комментарию, опубликованному amanb, я нашел способ сделать это:

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 в качестве аргументов в моей функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...