Указание аргументов в функции из списка - PullRequest
0 голосов
/ 26 апреля 2019

Я прочитал о нескольких темах ( здесь и здесь ) и документах ( здесь и здесь ) , Однако я не могу заставить это работать. Я получаю ошибку

AxisError: axis 0 is out of bounds for array of dimension 0

Спасибо.

import pandas as pd
from scipy.stats import levene

data = {'A': [1,2,3,4,5,6,7,8],
        'B': [9,10,11,12,13,14,15,16],
        'C': [1,2,3,4,5,6,7,8]}
df3 = pd.DataFrame(data, columns=['A', 'B','C'])

print(levene(df3['A'], df3['C'])) # this works as intended

cols_of_interest = ['A','C'] # my requirement could make this any combination

# function to pass through arguments into Levene test
def func(df,cols_of_interest):
    cols = [col for col in 'df.'+df[cols_of_interest].columns] # my strategy to mimic the arguments
    lev = levene(*cols)
    print(lev)

func(df3,cols_of_interest)

1 Ответ

1 голос
/ 26 апреля 2019

Замените ваше понимание списка внутри def на:

cols = [df[x] for x in cols_of_interest]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...