Menggabungkan semuanya (2)
Wah, Anda baru saja menggeneralisasi analisis bahasa Twitter yang Anda lakukan di bab sebelumnya dengan menambahkan argumen bawaan untuk nama kolom. Sekarang Anda akan menggeneralisasi fungsi ini selangkah lebih jauh dengan mengizinkan pengguna meneruskan argumen yang fleksibel, yaitu, dalam hal ini, sebanyak apa pun nama kolom yang diinginkan pengguna!
Sekali lagi, untuk kenyamanan Anda, pandas telah diimpor sebagai pd dan file 'tweets.csv' telah dimuat ke dalam DataFrame tweets_df. Bagian kode dari pekerjaan Anda sebelumnya juga disertakan.
Latihan ini adalah bagian dari kursus
Pengantar Fungsi di Python
Petunjuk latihan
- Lengkapi header fungsi dengan menambahkan parameter untuk DataFrame
dfdan argumen fleksibel*args. - Lengkapi
forloop di dalam definisi fungsi sehingga loop berjalan pada tupleargs. - Panggil
count_entries()dengan meneruskan DataFrametweets_dfdan nama kolom'lang'. Simpan hasilnya keresult1. - Panggil
count_entries()dengan meneruskan DataFrametweets_dfdan nama kolom'lang'serta'source'. Simpan hasilnya keresult2.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Define count_entries()
def ____(____, ____):
"""Return a dictionary with counts of
occurrences as value for each key."""
#Initialize an empty dictionary: cols_count
cols_count = {}
# Iterate over column names in args
for col_name in ____:
# 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 = count_entries(____, ____)
# Call count_entries(): result2
result2 = count_entries(____, ____, ____)
# Print result1 and result2
print(result1)
print(result2)