Bird
Raised Fist0
Data Analysis Pythondata~10 mins

Basic DataFrame info (shape, dtypes, describe) in Data Analysis Python - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Basic DataFrame info (shape, dtypes, describe)
Create DataFrame
↓
Check shape
↓
Check dtypes
↓
Run describe()
↓
Review summary statistics
Start with a DataFrame, then check its size, data types, and summary statistics step-by-step.
Execution Sample
Data Analysis Python
import pandas as pd

data = {'Age': [25, 30, 22], 'Name': ['Ann', 'Bob', 'Cal'], 'Score': [88.5, 92.0, 85.0]}
df = pd.DataFrame(data)

print(df.shape)
print(df.dtypes)
print(df.describe())
This code creates a DataFrame and shows its shape, data types, and summary statistics.
Execution Table
StepActionOutput TypeOutput Value
1Create DataFrame from dictionaryDataFrame{'Age': [25,30,22], 'Name': ['Ann','Bob','Cal'], 'Score': [88.5,92.0,85.0]}
2Check shapetuple(3, 3)
3Check dtypesSeriesAge int64 Name object Score float64 dtype: object
4Run describe()DataFrame Age Score count 3.000000 3.000000 mean 25.666667 88.500000 std 4.041452 3.511885 min 22.000000 85.000000 25% 23.500000 86.250000 50% 25.000000 88.500000 75% 27.500000 90.250000 max 30.000000 92.000000
💡 All DataFrame info methods executed successfully.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4
dfNoneDataFrame with 3 rows and 3 columnsSameSameSame
shapeNoneNone(3, 3)(3, 3)(3, 3)
dtypesNoneNoneNoneAge int64, Name object, Score float64Age int64, Name object, Score float64
describeNoneNoneNoneNoneSummary stats DataFrame for numeric columns
Key Moments - 3 Insights
Why does describe() only show statistics for numeric columns?
describe() by default summarizes numeric columns only, so text columns like 'Name' are excluded. See execution_table step 4 where only 'Age' and 'Score' stats appear.
What does the shape (3, 3) mean exactly?
Shape (3, 3) means 3 rows and 3 columns in the DataFrame, as shown in execution_table step 2.
Why is 'Name' dtype object and not string?
In pandas, text columns are stored as 'object' dtype, which means general Python objects, including strings. This is shown in execution_table step 3.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 2, what does the shape (3, 3) represent?
A3 rows and 3 columns
B3 columns and 3 rows
C3 rows and 2 columns
D3 columns and 2 rows
💡 Hint
Check the 'Output Value' column in execution_table step 2.
At which step do we see the data types of each column?
AStep 1
BStep 2
CStep 3
DStep 4
💡 Hint
Look for 'Check dtypes' in the 'Action' column of execution_table.
If the DataFrame had a new column with text data, how would describe() output change?
AIt would include summary stats for the new text column
BIt would ignore the new text column by default
CIt would cause an error
DIt would convert text to numbers automatically
💡 Hint
Refer to key_moments about describe() behavior on text columns.
Concept Snapshot
Basic DataFrame info:
- df.shape shows rows and columns count
- df.dtypes shows data type per column
- df.describe() summarizes numeric columns
Use these to quickly understand your data size and types.
Full Transcript
We start by creating a DataFrame from a dictionary with three columns: Age, Name, and Score. Then, we check the shape using df.shape, which tells us the DataFrame has 3 rows and 3 columns. Next, df.dtypes shows the data type of each column: Age is integer, Name is object (text), and Score is float. Finally, df.describe() gives summary statistics like count, mean, and min for numeric columns only, excluding the text column. This step-by-step helps us understand the size, types, and basic stats of our data.

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

  1. Step 1: Understand what df.shape returns

    df.shape gives a tuple with two numbers: rows and columns count.
  2. 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.
  3. Final Answer:

    The number of rows and columns in the DataFrame -> Option B
  4. 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

  1. Step 1: Recall the attribute for column data types

    The correct attribute to check data types is df.dtypes, not a method.
  2. Step 2: Verify the options

    df.dtypes uses df.dtypes correctly. Others are invalid or do not exist.
  3. Final Answer:

    df.dtypes -> Option A
  4. Quick Check:

    dtypes attribute shows column types [OK]
Hint: Use df.dtypes without parentheses to check types [OK]
Common Mistakes:
  • Adding parentheses like df.dtypes()
  • Using non-existent methods like df.types()
  • Confusing describe() with dtypes
3. Given the DataFrame df below:
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4.0, 5.5, 6.1], 'C': ['x', 'y', 'z']}
df = pd.DataFrame(data)
print(df.describe())

What will be the output of df.describe()?
medium
A. Summary statistics for all columns including C
B. An error because column C is non-numeric
C. Summary statistics for columns A and B only, excluding C
D. Only the count of rows

Solution

  1. Step 1: Understand what df.describe() does

    It provides summary stats (count, mean, std, min, max, quartiles) for numeric columns only by default.
  2. Step 2: Check the DataFrame columns

    Columns A and B are numeric (int and float), C is string (non-numeric), so C is excluded.
  3. Final Answer:

    Summary statistics for columns A and B only, excluding C -> Option C
  4. 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

  1. Step 1: Identify the error source

    The code calls df.dtypes() with parentheses, but dtypes is an attribute, not a method.
  2. Step 2: Understand correct usage

    Correct usage is df.dtypes without parentheses to access data types.
  3. Final Answer:

    dtypes is an attribute, not a method, so parentheses cause error -> Option A
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    df.shape; df.dtypes; df.describe() -> Option D
  4. Quick Check:

    shape, dtypes, describe cover size, types, stats [OK]
Hint: Use shape, dtypes, then describe for full quick info [OK]
Common Mistakes:
  • Using df.columns instead of df.dtypes for types
  • Confusing df.info() with df.describe()
  • Missing shape to check size
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