Статистические сравнения по столбцам в пандах / Python 3 - PullRequest
0 голосов
/ 25 октября 2019

У меня есть огромный фрейм данных DF, например, с 200 строками и 200 столбцами:

UIN GROUP v1  v2   v3   cat1   cat2   cat3 ...
1   A     2.0 3.0  5.0  1      0      0    
2   B     1.0 4.0  6.0  0      1      1
3   A     3.0 5.0  7.0  1      0      0

Я хочу выполнить статистические сравнения и линейные / логистические регрессии для каждого столбца. В RI можно просто сделать это:

lapply(DF[c(2:5)], function(x) wilcox.test(x ~ GROUP, data = DF, exact = FALSE))
# or multiple groups:
lapply(DF[c(2:5)], function(x) kruskal.test(x ~ GROUP, data = DF))

и

lapply(DF[c(2,6,7,8)], function(x) fisher.test(x ~ DF$GROUP))

и

lapply(DF[c(2:8), function(x) glm(GROUP ~ x, data = DF, family = "binomial")

Это очень быстро и удобно, и мы можем увидеть полные результаты всписок.

Есть ли способ получить такой элегантный вывод в python? Мне нужно выполнить разбиение на группы по столбцам и выполнить базовые тесты: ttest, тест Уилкокса, chisq, fisher и некоторые регрессии. Мне не нравятся решения, использующие импорт пакетов R в Python.

...