不管你的數據有多少,用python做數據合併就是這麼簡單!

2024年03月09日08:55:04 科技 1947

Python數據分析領域,pandas庫以其強大的數據處理能力而聞名。其中,DataFrame的合併與連接操作是數據整合與分析過程中的關鍵步驟。本文將詳細介紹如何利用Pandas提供的concatmerge方法進行DataFrame的合併與連接,並通過實際代碼示例展示其應用場景。

不管你的數據有多少,用python做數據合併就是這麼簡單! - 天天要聞

使用pd.concat()進行DataFrame的合併

1.水平(橫向)合併

pd.concat()函數可以用於水平方向上拼接多個DataFrame。當DataFrames的列名相同或互補時,可通過此方法實現行的堆疊:

import pandas as pd

# 創建兩個具有相同列名的DataFrame
df1 = pd.DataFrame({'Name': ['John', 'Anna'], 'Age': [28, 30]})
df2 = pd.DataFrame({'Name': ['Peter', 'Linda'], 'Age': [25, 35]})

# 使用pd.concat()進行水平合併
merged_df = pd.concat([df1, df2], ignore_index=True)  # 忽略原索引並生成新索引
print(merged_df)

2.垂直(縱向)合併

當需要根據DataFrame的索引進行合併時,可以通過設置axis=1來實現垂直方向上的合併:

df3 = pd.DataFrame({'Country': ['USA', 'Canada']}, index=['John', 'Anna'])
df4 = pd.DataFrame({'City': ['New York', 'Toronto']}, index=['John', 'Anna'])

# 垂直方向合併
vertical_merged_df = pd.concat([df3, df4], axis=1)
print(vertical_merged_df)

使用pd.merge()進行DataFrame的連接

pd.merge()函數基於指定鍵(key)對DataFrame進行連接操作,適用於具有共同列名或者索引的情況。主要有以下幾種連接類型:

  • 內連接(inner join):默認情況下,pd.merge()執行的是內連接,只保留兩個DataFrame中鍵值匹配的行。
df5 = pd.DataFrame({'Name': ['John', 'Peter'], 'Department': ['Sales', 'IT']})
df6 = pd.DataFrame({'Name': ['John', 'Anna'], 'Salary': [50000, 60000]})

# 內連接
inner_joined_df = pd.merge(df5, df6, on='Name')
print(inner_joined_df)
  • 左連接(left join):保留左側DataFrame的所有記錄,右側DataFrame僅包含與左側鍵值匹配的記錄。
left_joined_df = pd.merge(df5, df6, on='Name', how='left')
print(left_joined_df)
  • 右連接(right join):保留右側DataFrame的所有記錄,左側DataFrame僅包含與右側鍵值匹配的記錄。
right_joined_df = pd.merge(df5, df6, on='Name', how='right')
print(right_joined_df)
  • 全連接(outer join):保留兩個DataFrame中所有記錄,未匹配的鍵值用NaN填充。
outer_joined_df = pd.merge(df5, df6, on='Name', how='outer')
print(outer_joined_df)

進階應用及注意事項

  • 多鍵連接:可以同時指定多個鍵進行連接,只需將鍵名稱以列表形式傳入on參數即可。
  • 連接順序與效率:對於大數據集,連接操作可能會消耗大量計算資源。合理安排連接順序和選擇合適的連接類型能夠有效提升性能。
  • 處理重複鍵值:在進行連接時,如果存在重複鍵值,需考慮如何處理這些重複項,以避免結果集出現冗餘或混淆。

總結

掌握Pandas DataFrame的合併與連接操作是進行複雜數據處理和分析的關鍵技能。無論是Web開發中的API響應集成,還是數據分析項目中的多源數據融合,靈活運用pd.concat()pd.merge()都能顯著提高工作效率,確保數據處理流程的準確性和完整性。

關注我,手把手帶你快速入門 AI 機器學習編程!

科技分類資訊推薦

Win7文件夾加密軟件:保護您的隱私和重要文件 - 天天要聞

Win7文件夾加密軟件:保護您的隱私和重要文件

我的電腦長期使用Win7系統,我對其情有獨鍾。有次朋友問起,是否知道Win7文件夾加密軟件?這類軟件確實存在,今天就來為大家詳細介紹這款實用工具的功能與特點。1、 下載安裝win7文件夾加密軟件十分簡便,只需輕點一下即可開始安裝。2、 接着,我打開了軟件中的加密文件。3、 選中我們的win7文件夾即可。4、 護密軟件會彈出...
保障隱私:免費文件夾加密軟件推薦 - 天天要聞

保障隱私:免費文件夾加密軟件推薦

網上有許多免費的文件夾加密軟件,但並非都好用。這裡介紹一款實用的免費工具,值得一試。1、 讓我們下載免費的文件夾加密軟件來保護隱私。2、 安裝完成後,運行軟件並點擊加密文件夾。3、 選擇一個需要加密的文件夾,例如名為工作重要內容的文件夾。4、 為文件夾設置密碼後,採用閃電加密方式保護。5、 軟件開始快速加密,...
文件夾加密軟件使用指南 - 天天要聞

文件夾加密軟件使用指南

想給保密文件加密卻不知如何操作?其實很簡單,只需下載文件夾加密軟件。下面小編就為大家講解如何使用該軟件進行文件加密。1、 首先,從百度搜索易捷文件夾加密軟件,進入任意網頁下載安裝,這一步不再詳述,相信大家都懂。2、 點擊後會出現一個選擇文件夾的窗口,我們需要選擇文件夾,並記得文件夾的存放位置,否則怎麼找...
今年國產手機最火的功能,徹底被玩壞了 - 天天要聞

今年國產手機最火的功能,徹底被玩壞了

機友們覺得,這兩年,國產手機在軟件上給人感覺最大的變化是什麼? 有些機友可能會覺得是接入 AI。 但機哥覺得,最大的變化應該是「接入 iOS」。 也就是大家都在做的,明....
小米15 Pro降價1600元,有點刺激啊 - 天天要聞

小米15 Pro降價1600元,有點刺激啊

眼瞅着小米 15S Pro 即將迎來上市。 啪,很快啊,小米 15 Pro 的價格,也算是徹底崩了。 根據電商平台給出的最新價格顯示。 目前小米 15 Pro 在降價外....
全息吳曉波vs硅基生命體,聯想創新科技大會即將舉辦 - 天天要聞

全息吳曉波vs硅基生命體,聯想創新科技大會即將舉辦

5月4日,距離2025聯想創新科技大會倒計時2天,一張海報在科技圈掀起層層漣漪。畫面中,財經作家吳曉波西裝革履凝視前方,頭旁紅色的“TA”字樣,與“歡迎來到智能體世界”構成一組待破譯的摩斯密碼。作為“聯想AI摯友”,吳曉波在同步發布的視頻中透露,他將與大家一起見證超級智能體如何點亮企業的“硅基大腦”。 摩斯密碼...
美零售商要求中企照常發貨,關稅美方承擔 - 天天要聞

美零售商要求中企照常發貨,關稅美方承擔

特朗普關稅重壓下,美國貨真會像特朗普所說的那樣,擺滿貨架,大批人來買嗎?有美國商人已經做了調查,結論是0人想買。美零售商巨頭因此不得不求着中國出口商發貨,還保證關稅成本由美國人買單! 美國....