Udostępnij za pośrednictwem


levene_test_fl()

Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer

Funkcja jest funkcją levene_test_fl() zdefiniowaną przez użytkownika (zdefiniowaną przez użytkownika), która wykonuje test Levene.

Wymagania wstępne

  • Wtyczka języka Python musi być włączona w klastrze. Jest to wymagane w przypadku wbudowanego języka Python używanego w funkcji.
  • Wtyczka języka Python musi być włączona w bazie danych. Jest to wymagane w przypadku wbudowanego języka Python używanego w funkcji.

Składnia

T | invoke levene_test_fl(data1, data2, test_statistic p_value,)

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
data1 string ✔️ Nazwa kolumny zawierającej pierwszy zestaw danych do użycia na potrzeby testu.
data2 string ✔️ Nazwa kolumny zawierającej drugi zestaw danych do użycia na potrzeby testu.
test_statistic string ✔️ Nazwa kolumny do przechowywania wartości statystyk testowych dla wyników.
p_value string ✔️ Nazwa kolumny do przechowywania wartości p dla wyników.

Definicja funkcji

Funkcję można zdefiniować, osadzając jej kod jako funkcję zdefiniowaną przez zapytanie lub tworząc ją jako funkcję przechowywaną w bazie danych w następujący sposób:

Zdefiniuj funkcję przy użyciu następującej instrukcji let. Nie są wymagane żadne uprawnienia.

Ważne

Instrukcja let nie może działać samodzielnie. Należy po nim wykonać instrukcję wyrażenia tabelarycznego. Aby uruchomić działający przykład polecenia levene_test_fl(), zobacz Przykład.

<!-- let levene_test_fl = (tbl:(*), data1:string, data2:string, test_statistic:string, p_value:string)
{
    let kwargs = bag_pack('data1', data1, 'data2', data2, 'test_statistic', test_statistic, 'p_value', p_value);
    let code = ```if 1:
        from scipy import stats
        data1 = kargs["data1"]
        data2 = kargs["data2"]
        test_statistic = kargs["test_statistic"]
        p_value = kargs["p_value"]
        def func(row):
            statistics = stats.levene(row[data1], row[data2])
            return statistics[0], statistics[1]
        result = df
        result[[test_statistic, p_value]]  = df.apply(func, axis=1, result_type = "expand")
    ```;
    tbl
    | evaluate python(typeof(*), code, kwargs)
};
// Write your query to use the function here.

Przykład

W poniższym przykładzie użyto operatora invoke do uruchomienia funkcji.

Aby użyć funkcji zdefiniowanej przez zapytanie, wywołaj ją po definicji funkcji osadzonej.

<!-- let levene_test_fl = (tbl:(*), data1:string, data2:string, test_statistic:string, p_value:string)
{
    let kwargs = bag_pack('data1', data1, 'data2', data2, 'test_statistic', test_statistic, 'p_value', p_value);
    let code = ```if 1:
        from scipy import stats
        data1 = kargs["data1"]
        data2 = kargs["data2"]
        test_statistic = kargs["test_statistic"]
        p_value = kargs["p_value"]
        def func(row):
            statistics = stats.levene(row[data1], row[data2])
            return statistics[0], statistics[1]
        result = df
        result[[test_statistic, p_value]]  = df.apply(func, axis=1, result_type = "expand")
    ```;
    tbl
    | evaluate python(typeof(*), code, kwargs)
};
datatable(id:string, sample1:dynamic, sample2:dynamic) [
'Test #1', dynamic([23.64, 20.57, 20.42]), dynamic([27.1, 22.12, 33.56]),
'Test #2', dynamic([20.85, 21.89, 23.41]), dynamic([35.09, 30.02, 26.52]),
'Test #3', dynamic([20.13, 20.5, 21.7, 22.02]), dynamic([32.2, 32.79, 33.9, 34.22])
]
| extend test_stat= 0.0, p_val = 0.0
| invoke levene_test_fl('sample1', 'sample2', 'test_stat', 'p_val')

Wyjście

identyfikator sample1 sample2 test_stat p_val
Test nr 1 [23.64, 20.57, 20.42] [27.1, 22.12, 33.56] 1.5587395987367387 0.27993504690044563
Test nr 2 [20.85, 21.89, 23.41] [35.09, 30.02, 26.52] 1.6402495788130482 0.26950872948841353
Test nr 3 [20.13, 20.5, 21.7, 22.02] [32.2, 32.79, 33.9, 34.22] 0.0032989690721642395 0.95606240301049072