0
0
NumPydata~20 mins

Structured arrays vs DataFrames in NumPy - Practice Questions

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Structured Data Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of accessing structured array fields
What is the output of this code snippet that uses a NumPy structured array?
NumPy
import numpy as np

arr = np.array([(1, 2.5, 'A'), (2, 3.5, 'B')], dtype=[('x', 'i4'), ('y', 'f4'), ('z', 'U1')])
print(arr['y'])
A[1 2]
B[2.5 3.5]
C['A' 'B']
D[1. 2.]
Attempts:
2 left
💡 Hint
Remember that accessing a field by name returns all values in that field.
data_output
intermediate
2:00remaining
DataFrame column selection output
Given this pandas DataFrame, what is the output of selecting the 'age' column?
NumPy
import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob'], 'age': [25, 30]})
print(df['age'])
A
name    Alice
age        25
Name: 0, dtype: object
B['Alice', 'Bob']
C[25, 30]
D
0    25
1    30
Name: age, dtype: int64
Attempts:
2 left
💡 Hint
Selecting a column returns a Series with index and name.
🧠 Conceptual
advanced
2:00remaining
Difference in data mutability between structured arrays and DataFrames
Which statement correctly describes a key difference in mutability between NumPy structured arrays and pandas DataFrames?
ADataFrames allow adding and removing columns easily, while structured arrays have fixed fields and cannot add or remove columns.
BStructured arrays allow changing the data type of a field after creation, but DataFrames do not.
CBoth structured arrays and DataFrames allow dynamic resizing of rows but not columns.
DStructured arrays support missing data natively, but DataFrames do not.
Attempts:
2 left
💡 Hint
Think about how flexible the structure is after creation.
🔧 Debug
advanced
2:00remaining
Identify the error in structured array field assignment
What error will this code produce and why?
NumPy
import numpy as np

arr = np.array([(1, 2.5), (2, 3.5)], dtype=[('a', 'i4'), ('b', 'f4')])
arr['a'] = [10, 20, 30]
ANo error, assignment succeeds
BTypeError: unsupported operand type(s) for assignment
CValueError: could not broadcast input array from shape (3,) into shape (2,)
DIndexError: index 3 is out of bounds for axis 0 with size 2
Attempts:
2 left
💡 Hint
Check the length of the array being assigned compared to the structured array size.
🚀 Application
expert
3:00remaining
Choosing the best data structure for mixed data types with missing values
You have a dataset with numeric, string, and missing values. You want to perform data analysis and easily handle missing data. Which data structure is best and why?
APandas DataFrame, because it supports mixed types and has built-in missing data handling.
BNumPy ndarray with object dtype, because it is faster and supports missing values.
CNumPy structured array, because it supports mixed types and missing values natively.
DPython list of tuples, because it is simple and supports mixed types and missing values.
Attempts:
2 left
💡 Hint
Consider ease of handling missing data and mixed types in analysis.