Конвертировать результаты ANOVA в датафрейм - PullRequest
0 голосов
/ 18 февраля 2020

Я запустил анализ ANOVA с использованием библиотеки statsmodel следующим образом:

import numpy as np
import pandas as pd
from scipy import stats
from scipy.stats import norm
from scipy.signal import savgol_filter
from matplotlib import rcParams
import scipy.stats as stats


#ANOVA ONE WAY
mc = MultiComparison(df['NDVI'], df['line'])
mc_resultsNDVI = mc.tukeyhsd()
print(mc_resultsNDVI)

Проблема: я хотел бы получить результат в виде pandas dataframe. Теперь, когда я печатаю результат (и я запустил этот тест для нескольких столбцов), я получаю что-то похожее на это:

Я бы хотел, чтобы это было pandas dataframe

1 Ответ

0 голосов
/ 21 февраля 2020

Вы используете метод summary() и конвертируете его в фрейм данных:

import numpy as np
import pandas as pd
from statsmodels.sandbox.stats.multicomp import MultiComparison

from sklearn.datasets import load_iris
iris = load_iris()
df = pd.DataFrame(data= iris['data'],
                     columns= iris['feature_names'] )
df['target'] = iris['target']

pd.DataFrame(mc_resultsNDVI.summary())

    0   1   2   3   4   5   6
0   group1  group2  meandiff    p-adj   lower   upper   reject
1   0   1   2.798   0.001   2.5942  3.0018  True
2   0   2   4.09    0.001   3.8862  4.2938  True
3   1   2   1.292   0.001   1.0882  1.4958  True
...