一、Pandas unique()方法(Method)
由於本文想要基於課程難易度等級欄位(course_difficulty),將不同等級的課程資料分別匯出到多個CSV檔案,這時後就可以利用Pandas套件的unique()方法(Method),來取得課程難易度等級欄位(course_difficulty)的獨立值有哪些,如下範例:
df = pd.read_csv('coursea_data.csv')
levels = df['course_difficulty'].unique()
print(levels)
執行結果:
array(['Beginner', 'Intermediate', 'Mixed', 'Advanced'], dtype=object)
從以上結果就可以知道課程難易度等級欄位(course_difficulty)共有四個等級的資料。
二、Pandas基於欄位值拆分資料集
而要使用Pandas套件依據條件選擇資料,像是選擇課程難易度等級欄位(course_difficulty)為「Advanced」的課程資料,如下範例:
df = pd.read_csv('coursea_data.csv')
levels = df['course_difficulty'].unique()
new_df = df[df['course_difficulty'] == 'Advanced']
接下來,要分別選擇課程難易度等級欄位(course_difficulty)的四個等級資料,大家應該猜到該怎麼做了吧?沒錯,就是透過迴圈來分別利用Pandas套件進行選擇,如下範例:
df = pd.read_csv('coursea_data.csv')
levels = df['course_difficulty'].unique()
for level in levels:
new_df = df[df['course_difficulty'] == level]
三、Pandas基於欄位值匯出多個CSV檔案
在執行迴圈的過程中,Pandas套件選擇了課程難易度等級的資料後,就可以進行匯出CSV檔案的動作,本文以課程難易度等級來作為檔案名稱,如下範例:
df = pd.read_csv('coursea_data.csv')
levels = df['course_difficulty'].unique()
for level in levels:
new_df = df[df['course_difficulty'] == level]
new_df.to_csv(f'coursera_{level}.csv', index=False) #索引值不匯出到CSV檔案中
這時候就可以看到,我們成功從原來的「Coursera Course Dataset(coursea_data.csv)」資料集,基於課程難易度等級欄位(course_difficulty),分別匯出了各個等級的課程資料CSV檔案。
最後,利用Pandas套件讀取拆分後的CSV檔案,來檢視資料內容是否正確,以「coursera_Intermediate.csv」為例,如下:
df = pd.read_csv('coursea_data.csv')
levels = df['course_difficulty'].unique()
for level in levels:
new_df = df[df['course_difficulty'] == level]
new_df.to_csv(f'coursera_{level}.csv', index=False) #索引值不匯出到CSV檔案中
mediate_df = pd.read_csv('coursera_Intermediate.csv')