В Python, как запустить два статистических теста на всех цифровых столбцахPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 В Python, как запустить два статистических теста на всех цифровых столбцах

Сообщение Anonymous »

У меня есть DataFrame df < /code>, я хочу сделать следующее: < /p>
  • Запустить два статистических теста на всех цифровых столбцах (

    Код: Выделить всё

    column_1
    to column_84 ), чтобы сравнить, существует ли статистическая разница между типами x , y и z
  • tests tests tests - это kruskal и dunn's
    и dunn's
    и dunn's /> Группа сравнения: x vs y , y vs z и x vs z
Экспорт результатов в таблицу Excel (см. Screenshot ниже)
ol

Код: Выделить всё

# copy & paste

## generate dataframe "df"

import pandas as pd
import numpy as np

df = pd.DataFrame(
data=np.random.uniform(low=5.5, high=30.75, size=(60, 84)),
columns=[f'column_{i}' for i in range(1, 85)],)

df.insert(loc=0, column='Type',value=np.repeat(['X','Y','Z'], 20, axis=0),)

df
Я хочу запустить Cruskal Wallis test и dunn test для каждого столбца Col_1 to col_84

Код: Выделить всё

# copy and paste the libraries below
from scipy.stats import kruskal
pip install scikit-posthocs
import scikit_posthocs as sp

# filtering for each Type X,Y and Z

# for column_1
# Extract values for each group
group_x_values = df[df['Type'] == 'X']['column_1'].values
group_y_values = df[df['Type'] == 'Y']['column_1'].values
group_z_values = df[df['Type'] == 'Z']['column_1'].values

# 1st stats test : Kruskal wallis

h_statistic, p_value = kruskal(group_x_values, group_y_values, group_z_values)

# Print the results
print(f"H-statistic: {h_statistic}")
print(f"P-value: {p_value}")

# 2nd stats test: Dunn test
data = [df[df['Group'] == 'X']['column_1'].values,
df[df['Group'] == 'Y']['column_1'].values,
df[df['Group'] == 'Z']['column_1'].values]

p_values = sp.posthoc_dunn(data, p_adjust='bonferroni')

print(p_values)

# for column_2

group_x_values = df[df['Type'] == 'X']['column_2'].values
group_y_values = df[df['Type'] == 'Y']['column_2'].values
group_z_values = df[df['Type'] == 'Z']['column_2'].values

# 1st stats test : Kruskal wallis
h_statistic, p_value = kruskal(group_x_values, group_y_values, group_z_values)
# Print the results
print(f"H-statistic: {h_statistic}")
print(f"P-value: {p_value}")

# 2nd stats test: Dunn test
data = [df[df['Group'] == 'X']['column_2'].values,
df[df['Group'] == 'Y']['column_2'].values,
df[df['Group'] == 'Z']['column_2'].values]
p_values = sp.posthoc_dunn(data, p_adjust='bonferroni')

print(p_values)
.
.
.
#for column_84
group_x_values = df[df['Type'] == 'X']['column_84'].values
group_y_values = df[df['Type'] == 'Y']['column_84'].values
group_z_values = df[df['Type'] == 'Z']['column_84'].values
# 2nd stats test: Dunn test
data = [df[df['Group'] == 'X']['column_84'].values,
df[df['Group'] == 'Y']['column_84'].values,
df[df['Group'] == 'Z']['column_84'].values]

p_values = sp.posthoc_dunn(data, p_adjust='bonferroni')

print(p_values)

Я хочу экспортировать оба результата на рабочий лист Excel, что -то вроде этого:


Подробнее здесь: https://stackoverflow.com/questions/796 ... ic-columns
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»