Mam problem z wykonaniem testu t-sci w scipy, który doprowadza mnie do szaleństwa. Powinno to być łatwe do rozwiązania, ale nic, co robię, nie działa i nie ma rozwiązania, które można znaleźć poprzez obszerne wyszukiwanie. Używam Spydera w najnowszej dystrybucji Anacondy.Test T w Scipy z wartościami NaN
W szczególności: Chcę porównać średnie między dwiema kolumnami - "Trait_A" i "Trait_B" - w ramce danych pandy, którą zaimportowałem z pliku csv. Niektóre wartości w jednej z kolumn to "Nan" ("Nie liczba"). Domyślne ustawienie niezależnej próbki t-testowej nie uwzględnia wartości "NaN". Jednak setting the 'nan_policy' parameter to 'omit' should deal with this. Niemniej jednak, gdy to zrobię, statystyki testowe i wartość p powrócą jako "NaN". Kiedy ograniczam zakres wartości objętych rzeczywistymi liczbami, test działa dobrze. Moje dane i kod znajdują się poniżej; czy ktoś może sugerować, co robię źle? Dzięki!
danych:
Trait_A Trait_B
0 1.714286 0.000000
1 4.275862 4.000000
2 0.500000 4.625000
3 1.000000 0.000000
4 1.000000 4.000000
5 1.142857 1.000000
6 2.000000 1.000000
7 9.416667 1.956522
8 2.052632 0.571429
9 2.100000 0.166667
10 0.666667 0.000000
11 2.333333 1.705882
12 2.768145 NaN
13 0.000000 NaN
14 6.333333 NaN
15 0.928571 NaN
Mój kod:
import pandas as pd
import scipy.stats as sp
data= pd.read_csv("filepath/Data2.csv")
print (sp.stats.ttest_ind(data['Trait_A'], data['Trait_B'], nan_policy='omit'))
Mój wynik:
Ttest_indResult(statistic=nan, pvalue=nan)
Dziękuję bardzo! Działa to dokładnie tak, jak miałem nadzieję; wygląda na to, że to błąd. Opowiem o tym programistom Scipy. – Lodore66
Którą wersję scipy używasz? (nan_policy jest nowością w wersji 0.17.) jeśli jest 0.17 lub wyższy, zrób plik o błędzie –
Używam wersji 0.17 - więc tak, błąd zostanie zgłoszony. – Lodore66