with test student stats book python pandas scipy statistics hypothesis-test

test - t student python



T-test en pandas (2)

Si quiero calcular la media de dos categorías en Pandas, puedo hacerlo así:

data = {''Category'': [''cat2'',''cat1'',''cat2'',''cat1'',''cat2'',''cat1'',''cat2'',''cat1'',''cat1'',''cat1'',''cat2''], ''values'': [1,2,3,1,2,3,1,2,3,5,1]} my_data = DataFrame(data) my_data.groupby(''Category'').mean() Category: values: cat1 2.666667 cat2 1.600000

Tengo una gran cantidad de datos formateados de esta manera, y ahora tengo que hacer una prueba T para ver si la media de cat1 y cat2 son estadísticamente diferentes. ¿Cómo puedo hacer eso?


EDITAR: No me había dado cuenta de que esto era sobre el formato de datos. Podrías usar

two_data = pd.DataFrame(data, index=data[''Category''])

Entonces acceder a las categorías es tan simple como

scipy.stats.ttest_ind(two_data.loc[''cat''], two_data.loc[''cat2''], equal_var=False)

El loc operator accede a las filas por etiqueta.

Como dijo @G García

un lado o dos lados dependientes o independientes

Si tiene dos muestras independientes pero no sabe que tienen la misma varianza , puede usar la prueba t de Welch . Es tan simple como

scipy.stats.ttest_ind(cat1[''values''], cat2[''values''], equal_var=False)

Por razones para preferir la prueba de Welch, vea https://stats.stackexchange.com/questions/305/when-conducting-a-t-test-why-would-one-prefer-to-assume-or-test-for-equal-vari .

Para dos muestras dependientes , puede usar

scipy.stats.ttest_rel(cat1[''values''], cat2[''values''])


depende de qué tipo de prueba t desee hacer (dependiente de uno o dos lados o independiente) pero debe ser tan simple como:

from scipy.stats import ttest_ind cat1 = my_data[my_data[''Category'']==''cat1''] cat2 = my_data[my_data[''Category'']==''cat2''] ttest_ind(cat1[''values''], cat2[''values'']) >>> (1.4927289925706944, 0.16970867501294376)

devuelve una tupla con la estadística t y el valor p

ver aquí para otras pruebas t http://docs.scipy.org/doc/scipy/reference/stats.html