Bringing it all together (1)
Recall the Bringing it all together exercise in the previous chapter where you did a simple Twitter analysis by developing a function that counts how many tweets are in certain languages. The output of your function was a dictionary that had the language as the keys and the counts of tweets in that language as the value.
In this exercise, we will generalize the Twitter language analysis that you did in the previous chapter. You will do that by including a default argument that takes a column name.
For your convenience, pandas
has been imported as pd
and the 'tweets.csv'
file has been imported into the DataFrame tweets_df
. Parts of the code from your previous work are also provided.
This exercise is part of the course
Introduction to Functions in Python
Exercise instructions
- Complete the function header by supplying the parameter for a DataFrame
df
and the parametercol_name
with a default value of'lang'
for the DataFrame column name. - Call
count_entries()
by passing thetweets_df
DataFrame and the column name'lang'
. Assign the result toresult1
. Note that since'lang'
is the default value of thecol_name
parameter, you don't have to specify it here. - Call
count_entries()
by passing thetweets_df
DataFrame and the column name'source'
. Assign the result toresult2
.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Define count_entries()
def count_entries(____, ____):
"""Return a dictionary with counts of
occurrences as value for each key."""
# Initialize an empty dictionary: cols_count
cols_count = {}
# Extract column from DataFrame: col
col = df[col_name]
# Iterate over the column in DataFrame
for entry in col:
# If entry is in cols_count, add 1
if entry in cols_count.keys():
cols_count[entry] += 1
# Else add the entry to cols_count, set the value to 1
else:
cols_count[entry] = 1
# Return the cols_count dictionary
return cols_count
# Call count_entries(): result1
result1 = ____
# Call count_entries(): result2
result2 = ____
# Print result1 and result2
print(result1)
print(result2)