Excuse d'avance si cette question est naïve. Je suis nouveau à Python. J'essaie d'effectuer un test t sur deux colonnes de mon dataframe. Il est logique de faire le test t après avoir groupé les colonnes par une autre colonne dans la même trame de données.Regrouper par groupes dans Pandas Series/Dataframe
Je traite quelque chose comme ceci:
rand_array = np.random.randint(low=10, high=30, size=9)
rand_array2 = np.random.randint(low=10, high=30, size=9)
d = {'key1':[0,0,1,0,1,1,1,0,1], 'key2': rand_array, 'key3': rand_array2}
df1 = pd.DataFrame(d)
print df1
La sortie que je reçois est:
key1 key2 key3
0 0 20 18
1 0 22 16
2 1 21 26
3 0 21 13
4 1 11 21
5 1 23 10
6 1 17 29
7 0 13 25
8 1 24 29
Puis, je groupe par key1
g1 = df1.groupby('key1')
print g1.groups
>>> {0: Int64Index([0, 1, 3, 7], dtype='int64'), 1: Int64Index([2, 4, 5, 6, 8], dtype='int64')}
Je veux effectuer une t-test sur 0: Int64Index ([0, 1, 3, 7], dtype = 'int64') vs 1: Int64Index ([2, 4, 5, 6, 8], dtype = 'int64').
Est-ce possible?
Merci!
Ceci est également mis en œuvre [ 'scipy.stats.ttest_ind'] (https://docs.scipy.org/doc /scipy-0.14.0/reference/generated/scipy.stats.ttest_ind.html) avec 'equal_var = False'. – unutbu
Merci à vous deux. Ça marche maintenant :) – tester777