104學習精靈

差異分析

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

Line

Facebook

複製連結

取消
關於教室
關注人數 23 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 23 人
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 594 0

熱門精選

陳立婕

產品行銷專案經理

04/18 12:31

🔥104人力銀行「2024職涯博覽會」開始報名啦📢
一年就這一次!應屆預備找工作搶先報名 👉 https://tw104.pse.is/5u86r4
微軟、緯穎、德州儀器、遊戲橘子、東京威力科創、KPMG、IKEA、星巴克、宜得利、迪卡儂等,上百家頂尖知名企業現場徵才🤩
📍 6/15(六) 資訊科技、顧問金融業
企業名單看這邊➡️ https://tw104.pse.is/5u834l
📍 6/16(日) 電子製造業、零售服務業
企業名單看這邊➡️ https://tw104.pse.is/5u83bn
連續兩日,優質企業將在現場釋出數千個工作機會💼
另有中高階獵才、職涯諮詢、趨勢論壇、夜fun職場等系列活動,
主題精采多元,除部分講座收費,其餘活動皆 免費!免費!免費!
心動不如立即搶先報名👉 https://tw104.pse.is/5u86r4
1 2 3545 0

推薦給你

104學習精靈

產品

23小時前

10個適合用在句首的單字,簡單好記,又有變化!附上例句說明
1. Totally (完全地):
Totally, I agree with your point of view.
2. Absolutely (絕對):
Absolutely, we should go with that option.
3. Definitely (肯定地):
Definitely, let's schedule a meeting for tomorrow.
4. Certainly (當然):
Certainly, I can help you with that task.
5. Surely (無疑地):
Surely, you can count on me for support.
6. Indeed (的確):
Indeed, it was a challenging project.
7. Absolutely (絕對):
Absolutely, we should proceed with caution.
8. Certainly (當然):
Certainly, that's a valid point you raised.
9. Definitely (肯定地):
Definitely, I'll look into it right away.
10. Absolutely (絕對):
Absolutely, let's aim for excellence in our work.
1 0 513 0
你可能感興趣的教室