This program counts the frequency of each fruit in the list.
Pandas
import pandas as pd
# Create a Series of fruits
fruits = pd.Series(['apple', 'banana', 'apple', 'orange', 'banana', 'banana', 'apple'])
# Count how many times each fruit appears
fruit_counts = fruits.value_counts()
print(fruit_counts)
OutputSuccess
Important Notes
If your data has missing values (NaN), value_counts() ignores them by default.
You can use dropna=False to include missing values in the counts.
It works only on one column or Series at a time.
Summary
value_counts() helps count how often each unique value appears.
It is useful for quick data exploration and understanding categories.
You can customize sorting and show proportions instead of counts.
Practice
(1/5)
1. What does the value_counts() function do in pandas?
easy
A. Counts how many times each unique value appears in a column
B. Sorts the DataFrame by column values
C. Filters rows based on a condition
D. Calculates the mean of numeric columns
Solution
Step 1: Understand the purpose of value_counts()
This function counts the frequency of each unique value in a pandas Series or column.
Step 2: Compare with other options
Sorting, filtering, and calculating mean are different pandas operations, not value_counts().
Final Answer:
Counts how many times each unique value appears in a column -> Option A
Quick Check:
value_counts() = frequency count [OK]
Hint: Remember: value_counts() counts unique values fast [OK]
Common Mistakes:
Confusing value_counts() with sorting functions
Thinking it filters data instead of counting
Assuming it calculates statistics like mean
2. Which of the following is the correct syntax to get the frequency of values in a pandas Series named data?
easy
A. data.count()
B. value_counts(data)
C. data.count_values()
D. data.value_counts()
Solution
Step 1: Recall pandas method syntax
Methods like value_counts() are called on Series objects using dot notation.
Step 2: Check each option
data.value_counts() uses correct syntax: data.value_counts(). Options B and C are invalid method calls. data.count() counts non-null entries, not frequencies.
Final Answer:
data.value_counts() -> Option D
Quick Check:
Method call on Series = dot notation [OK]
Hint: Use dot notation: series.value_counts() [OK]
Common Mistakes:
Using function style like value_counts(data)
Mixing method names like count_values()
Confusing count() with value_counts()
3. Given the pandas Series:
import pandas as pd
s = pd.Series(['apple', 'banana', 'apple', 'orange', 'banana', 'apple'])
print(s.value_counts())
What is the output?
medium
A. apple 3
banana 2
orange 1
dtype: int64
B. apple 1
banana 1
orange 1
dtype: int64
C. 3 apple
2 banana
1 orange
dtype: object
D. apple 3
orange 2
banana 1
dtype: int64
Solution
Step 1: Count each unique value in the Series
Values are 'apple' (3 times), 'banana' (2 times), and 'orange' (1 time).
Step 2: Understand value_counts() output format
It returns counts sorted descending by frequency with index as values and counts as values.
Final Answer:
apple 3
banana 2
orange 1
dtype: int64 -> Option A
Quick Check:
Count each fruit correctly = apple 3
banana 2
orange 1
dtype: int64 [OK]
Hint: Count unique values and sort descending [OK]
Common Mistakes:
Mixing counts with values in wrong order
Assuming counts are sorted alphabetically
Confusing index and values in output
4. What is wrong with this code snippet?
import pandas as pd
s = pd.Series(['cat', 'dog', 'cat', 'bird'])
counts = s.value_counts
print(counts)
medium
A. value_counts() requires a parameter
B. Series cannot contain strings for value_counts
C. Missing parentheses after value_counts when assigning to counts
D. print() cannot be used with value_counts output
Solution
Step 1: Identify how value_counts is assigned
The code assigns counts = s.value_counts without parentheses, so counts is a method, not the result.
Step 2: Understand method call syntax
print(counts) prints the method object itself, not the result. To fix, assign with parentheses: counts = s.value_counts() or call directly print(s.value_counts()).
Final Answer:
Missing parentheses after value_counts when assigning to counts -> Option C
Quick Check:
Method call needs () when assigning [OK]
Hint: Add () to call method, not just assign it [OK]
Common Mistakes:
Forgetting parentheses when calling methods
Thinking value_counts needs parameters
Assuming print can't show value_counts output
5. You have a DataFrame df with a column 'color' containing some missing values (NaN). How can you use value_counts() to count frequencies including the missing values?
hard
A. df['color'].value_counts(show_na=True)
B. df['color'].value_counts(dropna=False)
C. df['color'].value_counts(include_nan=True)
D. df['color'].value_counts(keep_na=True)
Solution
Step 1: Recall how to include NaN in value_counts()
The parameter dropna=False tells value_counts() to count NaN values as well.
Step 2: Verify parameter names
Options A, B, and D use incorrect parameter names that do not exist in pandas.
Final Answer:
df['color'].value_counts(dropna=False) -> Option B
Quick Check:
Use dropna=False to count NaN [OK]
Hint: Use dropna=False to include missing values [OK]
Common Mistakes:
Using wrong parameter names like include_nan
Assuming NaN counted by default
Trying non-existent options like show_na
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.