📖 Scenario: You work in a small store and have a list of products with their prices and quantities. You want to organize this data in a table to learn more about it.
🎯 Goal: Create a DataFrame with product data, then find out its size, data types of each column, and some basic statistics.
📋 What You'll Learn
Create a pandas DataFrame with given product data
Create a variable to hold the DataFrame shape
Create a variable to hold the DataFrame data types
Create a variable to hold the DataFrame descriptive statistics
Print the shape, data types, and descriptive statistics
💡 Why This Matters
🌍 Real World
Stores and businesses often keep product data in tables and need to quickly understand the data size, types, and summary statistics to make decisions.
💼 Career
Data analysts and scientists use these basic DataFrame methods daily to explore and clean data before deeper analysis.
Progress0 / 4 steps
1
Create the product DataFrame
Import pandas as pd and create a DataFrame called df with these exact data: products 'Apple', 'Banana', 'Carrot', prices 0.5, 0.3, 0.2, and quantities 30, 45, 50.
Data Analysis Python
Hint
Use pd.DataFrame() with a dictionary where keys are column names and values are lists of data.
2
Get the DataFrame shape
Create a variable called shape and set it to the shape of the DataFrame df using the shape attribute.
Data Analysis Python
Hint
Use df.shape to get the number of rows and columns as a tuple.
3
Get the DataFrame data types
Create a variable called dtypes and set it to the data types of each column in df using the dtypes attribute.
Data Analysis Python
Hint
Use df.dtypes to see the type of data in each column.
4
Get descriptive statistics and print all info
Create a variable called description and set it to the result of df.describe(). Then print shape, dtypes, and description each on its own line.
Data Analysis Python
Hint
Use df.describe() to get statistics like mean and min. Use print() to show the results.
Practice
(1/5)
1. What does df.shape tell you about a DataFrame?
easy
A. The data types of each column
B. The number of rows and columns in the DataFrame
C. Summary statistics like mean and median
D. The first few rows of the DataFrame
Solution
Step 1: Understand what df.shape returns
df.shape gives a tuple with two numbers: rows and columns count.
Step 2: Match the description to the options
The number of rows and columns in the DataFrame correctly describes this as the number of rows and columns.
Final Answer:
The number of rows and columns in the DataFrame -> Option B
Quick Check:
Shape = (rows, columns) [OK]
Hint: Remember shape shows size: rows and columns [OK]
Common Mistakes:
Confusing shape with data types
Thinking shape shows data summary
Mixing shape with head() output
2. Which of the following is the correct way to check the data types of columns in a DataFrame named df?
easy
A. df.dtypes
B. df.columns.types
C. df.describe()
D. df.types()
Solution
Step 1: Recall the attribute for column data types
The correct attribute to check data types is df.dtypes, not a method.
Step 2: Verify the options
df.dtypes uses df.dtypes correctly. Others are invalid or do not exist.
Final Answer:
df.dtypes -> Option A
Quick Check:
dtypes attribute shows column types [OK]
Hint: Use df.dtypes without parentheses to check types [OK]
C. Summary statistics for columns A and B only, excluding C
D. Only the count of rows
Solution
Step 1: Understand what df.describe() does
It provides summary stats (count, mean, std, min, max, quartiles) for numeric columns only by default.
Step 2: Check the DataFrame columns
Columns A and B are numeric (int and float), C is string (non-numeric), so C is excluded.
Final Answer:
Summary statistics for columns A and B only, excluding C -> Option C
Quick Check:
describe() skips non-numeric columns by default [OK]
Hint: describe() shows stats only for numeric columns by default [OK]
Common Mistakes:
Expecting describe() to include string columns
Thinking describe() throws error on strings
Assuming describe() shows only count
4. You run the code below and get an error:
import pandas as pd
data = {'X': [10, 20, 30], 'Y': [5, 15, 25]}
df = pd.DataFrame(data)
print(df.dtypes())
What is the cause of the error?
medium
A. dtypes is an attribute, not a method, so parentheses cause error
B. DataFrame columns have mixed types
C. DataFrame is empty
D. Missing import statement for pandas
Solution
Step 1: Identify the error source
The code calls df.dtypes() with parentheses, but dtypes is an attribute, not a method.
Step 2: Understand correct usage
Correct usage is df.dtypes without parentheses to access data types.
Final Answer:
dtypes is an attribute, not a method, so parentheses cause error -> Option A
Quick Check:
Use df.dtypes without () [OK]
Hint: Remember dtypes is attribute, no parentheses [OK]
Common Mistakes:
Adding parentheses to dtypes
Assuming error is from missing import
Thinking DataFrame is empty
5. You have a DataFrame df with columns: Age (int), Salary (float), and Department (string). You want to quickly check how many rows and columns it has, the data types of each column, and summary statistics for numeric columns. Which sequence of commands gives you all this information?
hard
A. df.columns; df.dtypes; df.tail()
B. df.describe(); df.shape; df.columns
C. df.info(); df.head(); df.describe()
D. df.shape; df.dtypes; df.describe()
Solution
Step 1: Identify commands for each info type
df.shape gives rows and columns count, df.dtypes shows data types, and df.describe() gives summary stats for numeric columns.
Step 2: Check options for correct sequence
df.shape; df.dtypes; df.describe() lists these three commands in order, so it provides all required info.