Сохранение вывода scipy.stats.spearmanr () в Excel или текст - PullRequest
1 голос
/ 06 марта 2019

Мне нужно создать корреляционные матрицы, которые включают в себя как статистику теста, так и значение p (это действительно распространенная практика в психологических исследованиях), и я использую

spearmanr()

из scipy.stats, чтобы сделатьэтот.

У меня есть набор данных, который выглядит следующим образом

v_1    v_2    v_3    v_4    v_5
 1      4      2      5      3 
 5      3      6      2      4 
 6      2      4      1      1 
 2      5      3      2      6 
 6      3      2      2      3

, когда я вызываю spearmanr () как

cor1 = spearmanr(v_1, v_4)

Я вижу вывод в консоли, и яможет

print(cor1)

, который возвращает

SpearmanrResult(correlation=array([[x,y,z,a,b,c]]), (pvalue=array([[x,y,z,a,b,c]]))

Но я не могу ничего сделать с этими значениями, которые позволяют мне выложить их для отчетности в стиле по моему выбору.

Я пытался преобразовать их в DF pandas с

cors = pd.DataFrame(cor1)

, и я пытался написать его в Excel или текст с to_excel и т. Д.

I 'Мне не хватает чего-то глупого.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 06 марта 2019

cor1 на самом деле является NamedTuple. Вы можете получить доступ к соответствующим полям: cor1.correlation и cor1.pvalue.

В качестве альтернативы вы можете разложить напрямую при вызове копейщика:

cor, pvalue = spearmanr(v_1, v_4)

Эти массивы могут быть преобразованы в DataFrames и записаны в Excel.

например. pd.DataFrame(cor).to_csv("correlation.csv")

...