Стьюдентский t-тест для листа excel с использованием python

avatar
Harsh Singh
8 августа 2021 в 21:41
102
1
0

У меня есть таблица Excel с данными за 60 лет для 50 регионов, например:

Год R1 R2 R3 .. .. .. .. .. .. .. .. R50

1951 66 45 22 .. .. .. .. .. .. .. .. 20

1952 54 .. .. .. .. .. .. .. .. .. .. .. .. 15

..

..

2010 51 33 .. .. .. .. .. .. .. .. .. 45

Я хочу провести t-критерий по данным за два интервала 1951-1980 и 1981-2010. и хотите сохранить значения t и p для каждой области в файле excel или csv. Как я могу сделать для всех данных? Ссылка на входной файл данных https://docs.google.com/spreadsheets/d/1d3zpgUuGxTm-ncJQp-3sek9T6LKptY8a/edit?usp=sharing&ouid=100218359178484671666&rtpof=true&sd=true

<32170189718><3218
Источник

Ответы (1)

avatar
pandas_lover
8 августа 2021 в 22:36
-1
from scipy.stats import ttest_ind
import pandas as pd
df=pd.read_excel("t-test_Data.xlsx")
l=list()
for i in df.columns[1:]:
    l.append(pd.DataFrame({i:ttest_ind(df[df.Year < 1981][i],df[df.Year >= 
1981][i])}))
d=pd.concat(l,axis=1)
d.index=["statistic","p_value"]
d.to_excel("t_test_statistic.xlsx")
Harsh Singh
9 августа 2021 в 21:58
0

У него есть ошибка: объект «DataFrame» не имеет атрибута «Год».

pandas_lover
9 августа 2021 в 22:53
0

Запустите этот первый df = df.reset_index()

Harsh Singh
12 августа 2021 в 08:05
0

Спасибо .. Я удалил df.year в df.index, и тогда это сработало.