A t-test helps us check if two groups have different average values. It tells us if the difference is real or just by chance.
t-test (ttest_ind, ttest_rel) in SciPy
from scipy.stats import ttest_ind, ttest_rel # Independent t-test (two separate groups) ttest_ind(sample1, sample2, equal_var=True) # Paired t-test (same group, two conditions) ttest_rel(sample1, sample2)
ttest_ind is for two independent groups (like two different classes).
ttest_rel is for paired data (like before and after measurements of the same people).
from scipy.stats import ttest_ind group1 = [20, 22, 19, 24, 30] group2 = [25, 27, 29, 24, 28] result = ttest_ind(group1, group2) print(result)
from scipy.stats import ttest_rel before = [100, 102, 98, 105, 110] after = [102, 104, 100, 108, 115] result = ttest_rel(before, after) print(result)
This program runs both an independent t-test and a paired t-test and prints the test statistic and p-value for each.
from scipy.stats import ttest_ind, ttest_rel # Independent samples example group_a = [12, 15, 14, 10, 13] group_b = [22, 25, 19, 24, 20] independent_test = ttest_ind(group_a, group_b) # Paired samples example before_treatment = [100, 102, 98, 105, 110] after_treatment = [102, 104, 100, 108, 115] paired_test = ttest_rel(before_treatment, after_treatment) print(f"Independent t-test result: statistic={independent_test.statistic:.3f}, pvalue={independent_test.pvalue:.3f}") print(f"Paired t-test result: statistic={paired_test.statistic:.3f}, pvalue={paired_test.pvalue:.3f}")
A small p-value (usually less than 0.05) means the groups are likely different.
Use ttest_ind for different groups and ttest_rel for paired data.
Check if your data meets assumptions like normal distribution for best results.
T-tests compare averages between two groups.
ttest_ind is for independent groups; ttest_rel is for paired samples.
Look at the p-value to decide if the difference is meaningful.
Practice
What is the main difference between ttest_ind and ttest_rel in SciPy?
Solution
Step 1: Understand the purpose of
ttest_indttest_indis used to compare the means of two independent groups, meaning the groups have no relationship.Step 2: Understand the purpose of
ttest_relttest_relis used for paired samples, where the same subjects are measured twice or matched pairs are compared.Final Answer:
ttest_indcompares two independent groups;ttest_relcompares paired samples. -> Option AQuick Check:
Independent vs paired samples =ttest_indcompares two independent groups;ttest_relcompares paired samples. [OK]
- Confusing which test is for paired samples
- Thinking both tests are interchangeable
- Assuming
ttest_indis for paired data
Which of the following is the correct way to import and run an independent t-test on two arrays a and b using SciPy?
import scipy.stats as stats
# Your code hereSolution
Step 1: Identify the correct function for independent samples
The function for independent samples isttest_ind, which takes two arrays as arguments.Step 2: Check the function call syntax
The correct syntax isstats.ttest_ind(a, b). Using only one array or the paired testttest_relis incorrect here.Final Answer:
stats.ttest_ind(a, b) -> Option AQuick Check:
Independent test with two arrays = stats.ttest_ind(a, b) [OK]
- Using ttest_rel for independent samples
- Passing only one array instead of two
- Forgetting to import scipy.stats correctly
What is the output of this code snippet?
from scipy.stats import ttest_rel
before = [20, 22, 19, 24, 25]
after = [21, 23, 20, 22, 26]
result = ttest_rel(before, after)
print(round(result.pvalue, 3))Solution
Step 1: Understand the paired t-test calculation
Thettest_relcompares paired samples 'before' and 'after'. The differences are small.Step 2: Calculate or trust the p-value output
Running the code gives a p-value approximately 0.531.Final Answer:
0.531 -> Option CQuick Check:
Paired t-test p-value ~0.531 = 0.531 [OK]
- Confusing p-value with t-statistic
- Using ttest_ind instead of ttest_rel
- Rounding errors in p-value
Identify the error in this code that tries to perform an independent t-test:
from scipy.stats import ttest_ind
a = [5, 7, 8]
b = [6, 9]
result = ttest_ind(a)
print(result.pvalue)Solution
Step 1: Check function call parameters
ttest_indrequires two arrays as arguments. Here only one arrayais passed.Step 2: Verify other options
Usingttest_indis correct for independent samples. Different lengths are allowed. Import statement is correct.Final Answer:
Missing second argument forttest_indfunction. -> Option DQuick Check:
Two arrays needed for ttest_ind = Missing second argument forttest_indfunction. [OK]
- Passing only one array to ttest_ind
- Thinking arrays must be same length for independent test
- Confusing ttest_ind and ttest_rel usage
You have test scores of 10 students before and after a training program. You want to check if the training improved scores significantly. Which test should you use and why?
Solution
Step 1: Identify the data type
Scores before and after training are from the same students, so data are paired.Step 2: Choose the correct t-test
ttest_relis designed for paired samples to compare means before and after treatment.Final Answer:
Usettest_relbecause the scores are paired measurements. -> Option BQuick Check:
Paired data needs ttest_rel = Usettest_relbecause the scores are paired measurements. [OK]
- Using ttest_ind for paired data
- Confusing correlation with mean comparison
- Ignoring the pairing in data
Ready to prove it?
Pass the test and this pattern moves unknown
