104學習精靈

差異分析

差異分析
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
關於教室
關注人數 25 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 25 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

差異分析 學習推薦

全部
影片
文章
Mike Ku

Learn Code With Mike品牌創辦人

2022/01/19

3個Pandas套件比較CSV檔案資料之間的差異秘訣(上)
使用Pandas套件處理多份CSV檔案資料,相信是資料分析的過程中不可或缺的任務之一,其中,很常有機會比較各個資料集的相同與不相同資料內容,藉此來瞭解差異或檢核資料整合的結果是否有誤。
所以,本文就以Kaggle網站的「Coursera Course Dataset( https://www.kaggle.com/siddharthm1698/coursera-course-dataset )」及「Course Reviews on Coursera( https://www.kaggle.com/imuhammad/course-reviews-on-coursera )」兩個資料集為例,來分享Pandas套件比較CSV檔案資料集的常用方法。
Q: Pandas檢查兩個資料集的資料是否相同
首先,利用以下指令安裝Pandas套件:
$ pip install pandas
接著,使用Pandas套件的read_csv()方法(Method),來讀取「Coursera Course Dataset(coursea_data.csv)」資料集,如下範例:
import pandas as pd
df1 = pd.read_csv('coursea_data.csv')
print(df1)
以及讀取「Course Reviews on Coursera(Coursera_courses.csv)」資料集,如下範例:
import pandas as pd
df1 = pd.read_csv('coursea_data.csv')
df2 = pd.read_csv('Coursera_courses.csv')
print(df2)
這時候,就可以透過Pandas套件的equals()方法(Method),來比較兩個資料集是否有相同的維度(shape)、資料型態(dtype)及資料內容(elements),如下範例:
import pandas as pd
df1 = pd.read_csv('coursea_data.csv')
df2 = pd.read_csv('Coursera_courses.csv')
print(df1.equals(df2)) #執行結果False
很明顯這兩個資料集的維度(shape)並不相同,所以執行結果為False。
Q: Pandas查找兩個資料集之間的相同資料
知道了兩個資料集不相同後,有時會想要知道兩個資料集皆擁有的資料(交集)有哪些,在這樣的情況下,就能夠使用Pandas套件的merge()方法(Method),透過合併的方式來進行查找。
而Pandas套件在合併兩個資料集時,至少要有一個共同的欄位名稱,所以本文就將第一個資料集的「course_title」課程名稱欄位重新命名為「name」,來當作和第二個資料集合併的共同欄位,如下範例第4行:
import pandas as pd
df1 = pd.read_csv('coursea_data.csv').rename(columns={'course_title':'name'})
df2 = pd.read_csv('Coursera_courses.csv')
接下來,就可以利用Pandas套件的merge()方法(Method)進行合併,如下範例:
import pandas as pd
df1 = pd.read_csv('coursea_data.csv').rename(columns={'course_title':'name'})
df2 = pd.read_csv('Coursera_courses.csv')
result = df1.merge(df2, how='inner')
print(result)
由於我們想要查找兩個資料集皆擁有的資料,也就是所謂的交集,所以在Pandas套件的merge()方法(Method)中,需設定how關鍵字參數(Keyword Argument)為「inner」,即可得到兩個資料集的相同資料結果。
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike(https://www.learncodewithmike.com/2021/10/pandas-compare-values-between-dataframes.html
)網站觀看更多精彩內容。
2 0 1306 0

推薦給你

104學習精靈

產品

12/06 13:50

2024年11月【購買指定課程】送Line Points點數名單公告
11月領券購課贈LINE點活動於2024/12/6發送完畢,以下是本次獲贈者(中間名字隱藏),LINE點數發送兌換連結maill到您當初購買課程的Email唷!
【PPA指定課程_85折↘送百元LINE點數】
劉⭕玉
【緯育指定課程_88折↘送3百元LINE點數】
林⭕暄
【PPA指定課程_85折↘送3百元LINE點數】
彭⭕
黃⭕麗
【緯育指定課程_雙11一日折$1,111送百點】
袁⭕鳳
楊⭕菱
【緯育指定課程_雙11↘結帳折$100送百點】
謝⭕瀅
【PPA指定課程_85折↘送5百元LINE點數】
高⭕豐
【PPA指定課程_85折↘送2百元LINE點數】
曾⭕淳
余⭕璇
【11月生日禮送百元點數_緯育】
吳⭕靜
感謝以上購買者,104課程中心持續更新與上架職場學習課程,歡迎大家一起來增能!
0 0 1422 0
你可能感興趣的教室