T-test dans les Pandas
Si je veux calculer la moyenne de deux catégories dans les Pandas, je peux faire comme ceci:
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
J'ai beaucoup de données formaté de cette manière, et maintenant j'ai besoin de faire un T-test pour voir si la moyenne de cat1 et cat2 sont statistiquement différents. Comment puis-je le faire?
Vous devez vous connecter pour publier un commentaire.
cela dépend de ce genre de t-test que vous voulez faire (d'un seul côté ou des deux côtés dépendante ou indépendante), mais il devrait être aussi simple que:
elle renvoie un tuple avec la statistique t & la p-valeur
voir ici pour d'autres tests t http://docs.scipy.org/doc/scipy/reference/stats.html
EDIT: je n'avais pas réalisé que c'était à propos du format des données. Vous pourrait utiliser
Puis accéder à l'catégories est aussi simple que
La
loc opérateur
accède lignes par étiquette.Comme @G, a déclaré Garcia
Si vous avez deux échantillons indépendants mais vous ne savent pas qu'ils sont à égalité de la variance, vous pouvez utiliser Welch test-t de. C'est aussi simple que
Pour des raisons de préférer Welch test, voir https://stats.stackexchange.com/questions/305/when-conducting-a-t-test-why-would-one-prefer-to-assume-or-test-for-equal-vari.
Pour deux dépendante des échantillons, vous pouvez utiliser
Je simplifie un peu le code.