Bird
Raised Fist0
Data Analysis Pythondata~30 mins

t-test with scipy.stats in Data Analysis Python - Mini Project: Build & Apply

Choose your learning style10 modes available
Performing a t-test with scipy.stats
📖 Scenario: You are a data analyst working with two groups of students. You want to check if their test scores are different on average.
🎯 Goal: Build a small program to perform a t-test using scipy.stats to compare two groups of scores.
📋 What You'll Learn
Create two lists of test scores named group1_scores and group2_scores with exact values
Import the ttest_ind function from scipy.stats
Use ttest_ind to calculate the t-test statistic and p-value
Print the t-test statistic and p-value
💡 Why This Matters
🌍 Real World
T-tests are used in many fields like education, medicine, and business to compare two groups and see if they differ in some measurement.
💼 Career
Data analysts and scientists use t-tests to support decisions by testing hypotheses about group differences.
Progress0 / 4 steps
1
Create two lists of test scores
Create a list called group1_scores with these exact values: 85, 90, 78, 92, 88. Also create a list called group2_scores with these exact values: 80, 85, 79, 88, 84.
Data Analysis Python
Hint

Use square brackets [] to create lists and separate numbers with commas.

2
Import the ttest_ind function
Import the function ttest_ind from the module scipy.stats.
Data Analysis Python
Hint

Use the syntax from scipy.stats import ttest_ind.

3
Calculate the t-test statistic and p-value
Use the function ttest_ind with group1_scores and group2_scores as arguments. Save the result in a variable called t_statistic and p_value by unpacking the returned tuple.
Data Analysis Python
Hint

Call ttest_ind(group1_scores, group2_scores) and unpack the result into t_statistic and p_value.

4
Print the t-test results
Print the values of t_statistic and p_value using two separate print statements.
Data Analysis Python
Hint

Use print(t_statistic) and print(p_value) to show the results.

Practice

(1/5)
1.

What does a t-test help you find out in data analysis?

easy
A. If two groups have different average values
B. The total number of data points in a dataset
C. The exact values of all data points
D. How to sort data in ascending order

Solution

  1. Step 1: Understand the purpose of a t-test

    A t-test compares the means (averages) of two groups to see if they are different.
  2. Step 2: Identify what the t-test does not do

    It does not count data points, show exact values, or sort data.
  3. Final Answer:

    If two groups have different average values -> Option A
  4. Quick Check:

    T-test checks mean difference = A [OK]
Hint: T-test compares averages between groups [OK]
Common Mistakes:
  • Thinking t-test counts data points
  • Confusing t-test with sorting methods
  • Assuming t-test shows exact data values
2.

Which of the following is the correct way to import the t-test function for independent samples from scipy.stats?

?
easy
A. from scipy.stats import ttest_ind
B. import scipy.stats.ttest_ind
C. from scipy import ttest_ind
D. import ttest_ind from scipy.stats

Solution

  1. Step 1: Recall Python import syntax

    To import a specific function, use 'from module import function'.
  2. Step 2: Match the correct import statement

    'from scipy.stats import ttest_ind' correctly imports the independent t-test function.
  3. Final Answer:

    from scipy.stats import ttest_ind -> Option A
  4. Quick Check:

    Correct import syntax = A [OK]
Hint: Use 'from module import function' to import specific functions [OK]
Common Mistakes:
  • Using 'import scipy.stats.ttest_ind' which is invalid
  • Trying 'from scipy import ttest_ind' missing 'stats'
  • Writing 'import ttest_ind from scipy.stats' which is wrong syntax
3.

What will be the output of this code snippet?

import numpy as np
from scipy.stats import ttest_1samp

data = np.array([5, 7, 8, 6, 9])
test_stat, p_value = ttest_1samp(data, popmean=6)
print(round(p_value, 3))
medium
A. 0.045
B. 0.100
C. 0.500
D. 0.317

Solution

  1. Step 1: Understand the t-test 1 sample function

    ttest_1samp tests if the sample mean differs from the population mean (6 here).
  2. Step 2: Calculate the p-value for the data

    Using the data, the p-value is approximately 0.317, meaning no strong evidence against mean=6.
  3. Final Answer:

    0.317 -> Option D
  4. Quick Check:

    p-value from ttest_1samp = 0.317 [OK]
Hint: Round p-value to 3 decimals to compare easily [OK]
Common Mistakes:
  • Confusing test statistic with p-value
  • Using wrong population mean in function
  • Not rounding p-value before comparing
4.

Identify the error in this code that tries to perform a paired t-test:

from scipy.stats import ttest_rel

data1 = [10, 12, 14, 16]
data2 = [11, 13, 15]

result = ttest_rel(data1, data2)
print(result.pvalue)
medium
A. Missing import for numpy
B. ttest_rel is not the correct function for paired tests
C. The two data lists have different lengths
D. print statement syntax is incorrect

Solution

  1. Step 1: Check input data lengths for paired t-test

    Paired t-test requires both data arrays to have the same length because it compares pairs.
  2. Step 2: Identify the mismatch in data lengths

    data1 has 4 elements, data2 has 3 elements, causing an error.
  3. Final Answer:

    The two data lists have different lengths -> Option C
  4. Quick Check:

    Paired t-test needs equal length arrays = C [OK]
Hint: Paired t-test needs equal length data arrays [OK]
Common Mistakes:
  • Using different length arrays for paired test
  • Confusing ttest_rel with independent t-test
  • Assuming print syntax error without checking data
5.

You have two groups of exam scores:

group1 = [78, 85, 90, 88, 76]
group2 = [82, 79, 88, 91, 77]

You want to check if their average scores differ significantly. Which code correctly performs this test and interprets the result?

hard
A.
from scipy.stats import ttest_ind
stat, p = ttest_ind(group1, group2)
if p > 0.05:
    print('Different averages')
else:
    print('No difference')
B.
from scipy.stats import ttest_ind
stat, p = ttest_ind(group1, group2)
if p < 0.05:
    print('Different averages')
else:
    print('No difference')
C.
from scipy.stats import ttest_rel
stat, p = ttest_rel(group1, group2)
if p < 0.01:
    print('Different averages')
else:
    print('No difference')
D.
from scipy.stats import ttest_1samp
stat, p = ttest_1samp(group1, group2)
if p < 0.05:
    print('Different averages')
else:
    print('No difference')

Solution

  1. Step 1: Choose the correct t-test for two independent groups

    ttest_ind is used for comparing two independent samples like group1 and group2.
  2. Step 2: Interpret the p-value correctly

    If p-value is less than 0.05, we say averages differ; otherwise, no difference.
  3. Final Answer:

    Use ttest_ind and check if p < 0.05 to decide difference -> Option B
  4. Quick Check:

    Independent t-test + p < 0.05 means difference [OK]
Hint: Use ttest_ind for independent groups and p < 0.05 for difference [OK]
Common Mistakes:
  • Using ttest_1samp for two groups
  • Using ttest_rel for independent groups
  • Reversing p-value condition for significance
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard