Bird
Raised Fist0
SciPydata~20 mins

Descriptive statistics (describe) in SciPy - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Descriptive Statistics Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of scipy.stats.describe on a simple array
What is the output of the following code snippet using scipy.stats.describe on a simple numeric array?
SciPy
from scipy.stats import describe
import numpy as np

arr = np.array([1, 2, 3, 4, 5])
result = describe(arr)
print(result)
ADescribeResult(nobs=5, minmax=(1, 5), mean=3.0, variance=2.5, skewness=0.0, kurtosis=-1.3)
BDescribeResult(nobs=5, minmax=(1, 5), mean=3.0, variance=2.0, skewness=0.0, kurtosis=-1.3)
C)3.1-=sisotruk ,0.0=ssenweks ,5.2=ecnairav ,0.3=naem ,)5 ,1(=xamnim ,5=sbon(tluseRebircseD
DDescribeResult(nobs=5, minmax=(1, 5), mean=3.0, variance=2.5, skewness=0.0, kurtosis=0.0)
Attempts:
2 left
💡 Hint
Recall that variance is calculated with denominator n-1 by default in scipy.stats.describe.
❓ data_output
intermediate
1:30remaining
Number of observations from describe on 2D array
Given the following 2D array, what is the number of observations (nobs) reported by scipy.stats.describe when applied along axis=1?
SciPy
from scipy.stats import describe
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
result = [describe(row).nobs for row in arr]
print(result)
A[6, 6]
B[1, 1]
C[3, 3]
D[2, 2]
Attempts:
2 left
💡 Hint
Each row has 3 elements, so nobs per row is 3.
🔧 Debug
advanced
2:00remaining
Identify the error in using describe on a list with mixed types
What error will the following code raise when using scipy.stats.describe on a list with mixed types?
SciPy
from scipy.stats import describe
mixed_list = [1, 'two', 3]
describe(mixed_list)
ATypeError: unsupported operand type(s) for -: 'str' and 'int'
BValueError: could not convert string to float: 'two'
CTypeError: object of type 'str' has no len()
DNo error, returns descriptive statistics ignoring strings
Attempts:
2 left
💡 Hint
The function tries to perform numeric operations on all elements.
🧠 Conceptual
advanced
1:30remaining
Understanding kurtosis output from describe
Which statement correctly describes the kurtosis value returned by scipy.stats.describe?
AKurtosis is the same as variance but scaled differently
BKurtosis is the excess kurtosis, where 0 means normal distribution kurtosis
CKurtosis is the raw fourth moment without adjustment
DKurtosis is always positive and measures skewness
Attempts:
2 left
💡 Hint
Think about what excess kurtosis means in statistics.
🚀 Application
expert
2:30remaining
Calculate skewness from describe output
You have the following output from scipy.stats.describe on a dataset: DescribeResult(nobs=4, minmax=(2, 10), mean=6.5, variance=12.33, skewness=1.2, kurtosis=0.5). What does the skewness value tell you about the data distribution?
ASkewness value indicates the data has no outliers
BThe data is perfectly symmetrical with no skew
CThe data is skewed to the left, meaning a longer tail on the lower values
DThe data is skewed to the right, meaning a longer tail on the higher values
Attempts:
2 left
💡 Hint
Positive skewness means the tail is on the right side.

Practice

(1/5)
1. What does the scipy.stats.describe function provide when applied to a dataset?
easy
A. Summary statistics like count, mean, variance, min, max, skewness, and kurtosis
B. Only the mean and median of the dataset
C. A plot showing data distribution
D. A list of unique values in the dataset

Solution

  1. Step 1: Understand the purpose of scipy.stats.describe

    This function is designed to give a quick summary of key statistics about the data.
  2. Step 2: Identify the statistics returned

    It returns count, mean, variance, minimum, maximum, skewness, and kurtosis, which describe data shape and spread.
  3. Final Answer:

    Summary statistics like count, mean, variance, min, max, skewness, and kurtosis -> Option A
  4. Quick Check:

    Descriptive stats = count, mean, variance, min, max, skewness, kurtosis [OK]
Hint: Remember: describe summarizes data with key stats [OK]
Common Mistakes:
  • Thinking it returns only mean and median
  • Confusing it with plotting functions
  • Expecting a list of unique values
2. Which of the following is the correct way to import and use describe from scipy.stats?
easy
A. from scipy.stats import describe; result = describe(data)
B. import scipy.stats; result = describe(data)
C. from scipy import describe; result = describe(data)
D. import describe from scipy.stats; result = describe(data)

Solution

  1. Step 1: Check correct import syntax for a function

    Functions are imported using from module import function syntax in Python.
  2. Step 2: Verify usage of describe after import

    After importing, call describe(data) directly.
  3. Final Answer:

    from scipy.stats import describe; result = describe(data) -> Option A
  4. Quick Check:

    Correct import and call = from scipy.stats import describe; result = describe(data) [OK]
Hint: Use 'from scipy.stats import describe' to call directly [OK]
Common Mistakes:
  • Using wrong import syntax like 'import describe from ...'
  • Importing scipy.stats but not calling with module prefix
  • Importing from wrong module
3. Given the code below, what will be the output for the mean and min values?
import numpy as np
from scipy.stats import describe

data = np.array([2, 4, 6, 8, 10])
result = describe(data)
print(result.mean, result.minmax[0])
medium
A. 6.0 0
B. 5.0 2
C. 6.0 2
D. 5.0 0

Solution

  1. Step 1: Calculate the mean of the data array

    The data is [2, 4, 6, 8, 10]. Mean = (2+4+6+8+10)/5 = 30/5 = 6.0.
  2. Step 2: Identify the minimum value from minmax

    minmax returns (min, max). The minimum is 2.
  3. Final Answer:

    6.0 2 -> Option C
  4. Quick Check:

    Mean = 6.0, Min = 2 [OK]
Hint: Mean is average; min is smallest value [OK]
Common Mistakes:
  • Calculating mean incorrectly as 5.0
  • Confusing minmax tuple order
  • Assuming min is 0 without checking data
4. What is wrong with the following code snippet?
from scipy.stats import describe
data = [1, 2, 3, 4, 5]
result = describe(data, axis=1)
print(result)
medium
A. The print statement is missing parentheses
B. The data list should be converted to a numpy array first
C. The describe function requires a second argument for axis
D. Axis=1 is invalid for 1D data, causing an error

Solution

  1. Step 1: Understand the data shape and axis parameter

    The data is a 1D list. Axis=1 means operate along columns of 2D or higher arrays.
  2. Step 2: Identify the error caused by axis=1 on 1D data

    Using axis=1 on 1D data causes an AxisError because axis 1 does not exist.
  3. Final Answer:

    Axis=1 is invalid for 1D data, causing an error -> Option D
  4. Quick Check:

    Axis must exist in data shape [OK]
Hint: Check data dimensions before setting axis [OK]
Common Mistakes:
  • Assuming axis=1 works for 1D data
  • Thinking data must be numpy array for describe
  • Ignoring Python 3 print syntax
5. You have a dataset with some zero and negative values: data = [0, -1, 2, 3, 4]. Using scipy.stats.describe, which statistic helps you understand if the data distribution is skewed?
hard
A. Variance
B. Skewness
C. Count
D. Minimum

Solution

  1. Step 1: Recall what skewness measures

    Skewness shows if data is symmetric or leans left/right (skewed).
  2. Step 2: Identify which statistic indicates skewness

    Among the options, only skewness directly measures data asymmetry.
  3. Final Answer:

    Skewness -> Option B
  4. Quick Check:

    Skewness = data asymmetry [OK]
Hint: Skewness shows data leaning direction [OK]
Common Mistakes:
  • Confusing variance with skewness
  • Thinking count or minimum show skewness
  • Ignoring negative and zero values impact
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