統整練習(1)
在前面的練習中,你已經初步體驗了如何自己撰寫函式。你學會了在函式定義中加入參數、用 tuple 回傳單一或多個值,以及如何呼叫你定義的函式。
在這個練習與下一個練習中,你會把這些觀念整合起來,並套用到一個簡單的資料科學問題。你會載入一個資料集,並開發一些功能,從資料中擷取基本的洞見。
在本題中,你的目標是複習如何將資料集載入為 DataFrame。這個資料集包含 Twitter 的資料,你會對某一欄位的各筆內容進行迭代,建立一個字典:鍵為語言名稱,值為該語言的推文數量。檔案 tweets.csv 位在你現在的目錄中。
請注意,這是來自 Twitter 的真實資料,因此可能包含不雅或令人不適的內容(本題以及任何後續使用真實 Twitter 資料的練習皆然)。
本練習屬於課程
Python 函式入門
練習說明
- 以別名
pd匯入 pandas 套件。 - 使用 pandas 的
read_csv()函式匯入檔案'tweets.csv'。將得到的 DataFrame 指派給df。 - 以 DataFrame
df的'lang'欄位作為col,完成for迴圈的迭代。 - 完成迴圈中的
if-else區塊:若鍵已存在於字典langs_count,就將該鍵對應的值加上1;否則將此鍵加入langs_count,並把對應的值設為1。請使用迴圈變數entry。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Import pandas
# Import Twitter data as DataFrame: df
df = ____
# Initialize an empty dictionary: langs_count
langs_count = {}
# Extract column from DataFrame: col
col = df['lang']
# Iterate over lang column in DataFrame
for entry in ____:
# If the language is in langs_count, add 1
if entry in langs_count.keys():
____
# Else add the language to langs_count, set the value to 1
else:
____
# Print the populated dictionary
print(langs_count)