欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas中數(shù)據(jù)表合并的幾種實現(xiàn)方法

 更新時間:2024年12月31日 10:21:35   作者:00&00  
Pandas提供了merge()、concat()和join()三種方法來合并數(shù)據(jù)表,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在 Pandas 中,數(shù)據(jù)表合并是常見的數(shù)據(jù)處理任務(wù),主要用于將多個 DataFrame 按特定條件連接在一起。Pandas 提供了幾種方法來實現(xiàn)這一點,包括 `merge()`、`concat()` 和 `join()`。下面是這些方法的詳細(xì)概述。

1. 使用 merge 函數(shù)

`merge()` 是 Pandas 中最常用的數(shù)據(jù)合并函數(shù),類似于 SQL 中的連接操作??梢愿鶕?jù)一個或多個鍵將兩個 DataFrame 進(jìn)行合并。

1.1 基本用法

import pandas as pd  

# 創(chuàng)建示例 DataFrame  
df1 = pd.DataFrame({  
    'key': ['A', 'B', 'C'],  
    'value1': [1, 2, 3]  
})  

df2 = pd.DataFrame({  
    'key': ['B', 'C', 'D'],  
    'value2': [4, 5, 6]  
})  

# 合并 DataFrame  
result = pd.merge(df1, df2, on='key', how='inner')  # inner join  
print(result)

1.2 合并方式

`merge()` 允許多種合并方式:
        inner: 只保留兩者都存在的鍵(默認(rèn)值)
        outer: 保留所有的鍵,缺失的用 NaN 填充
        left: 保留左側(cè) DataFrame 的所有數(shù)據(jù)
        right: 保留右側(cè) DataFrame 的所有數(shù)據(jù)

# 外連接  
result_outer = pd.merge(df1, df2, on='key', how='outer')  
print(result_outer)  

# 左連接  
result_left = pd.merge(df1, df2, on='key', how='left')  
print(result_left)  

# 右連接  
result_right = pd.merge(df1, df2, on='key', how='right')  
print(result_right)

1.3 多列合并

可以通過傳遞列名的列表來根據(jù)多個列進(jìn)行合并:

df3 = pd.DataFrame({  
    'key1': ['A', 'B', 'C'],  
    'key2': ['W', 'X', 'Y'],  
    'value1': [1, 2, 3]  
})  

df4 = pd.DataFrame({  
    'key1': ['A', 'B', 'D'],  
    'key2': ['W', 'X', 'Z'],  
    'value2': [4, 5, 6]  
})  

result_multi_key = pd.merge(df3, df4, on=['key1', 'key2'], how='inner')  
print(result_multi_key)

2. 使用 concat 函數(shù)

`concat()` 函數(shù)用于沿著某個軸(行或列)將多個 DataFrame 進(jìn)行連接。它更適合在 DataFrame 結(jié)構(gòu)相同的情況下合并數(shù)據(jù)。

2.1 基本用法

df5 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})  
df6 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})  

# 按行連接(縱向)  
result_concat = pd.concat([df5, df6], axis=0)  
print(result_concat)  

# 按列連接(橫向)  
result_concat_columns = pd.concat([df5, df6], axis=1)  
print(result_concat_columns)

2.2 忽略索引

可以選擇忽略原來的索引,重新生成新的索引:

result_concat_ignore_index = pd.concat([df5, df6], axis=0, ignore_index=True)  
print(result_concat_ignore_index)

3. 使用 join 函數(shù)

`join()` 方法用于連接 DataFrame,通常是基于索引進(jìn)行的。它比 `merge()` 更簡潔,適合簡單的連接場景。

df7 = pd.DataFrame({  
    'value1': [1, 2, 3]},  
    index=['A', 'B', 'C']  
)  

df8 = pd.DataFrame({  
    'value2': [4, 5]},  
    index=['B', 'C']  
)  

# 基于索引連接  
result_join = df7.join(df8, how='inner')  
print(result_join)

4. 注意事項

  • 鍵的一致性: 確保用于合并的鍵在兩個 DataFrame 中具有一致的數(shù)據(jù)類型。
  • 處理缺失值: 合并后可能會出現(xiàn)缺失值,需要后續(xù)進(jìn)行處理。
  • 合并后的列名沖突: 合并時可能會出現(xiàn)列名沖突,可以使用 `suffixes` 參數(shù)給沖突的列附加后綴。

5. 總結(jié)

在 Pandas 中,合并數(shù)據(jù)表是非常靈活和強(qiáng)大的功能,主要有 `merge()`、`concat()` 和 `join()` 三種方法,根據(jù)具體需求選擇合適的方法。通過適當(dāng)?shù)暮喜?,可以更好地組織和分析數(shù)據(jù)。

到此這篇關(guān)于Pandas中數(shù)據(jù)表合并的幾種實現(xiàn)方法的文章就介紹到這了,更多相關(guān)Pandas 數(shù)據(jù)表合并內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python正確重載運算符的方法示例詳解

    Python正確重載運算符的方法示例詳解

    這篇文章主要給大家介紹了關(guān)于Python如何正確重載運算符的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • python使用技巧-文件讀寫

    python使用技巧-文件讀寫

    這篇文章主要介紹了python使用技巧-文件讀寫,Python提供了非常方便的文件讀寫功能,其中open是讀寫文件的第一步,通過open讀寫文件的方式和把大象裝冰箱是一樣的,下面我們就來具體介紹該內(nèi)容,需要的小伙伴可以參考一下
    2022-02-02
  • Pyscript使用本地Pyodide配置步驟

    Pyscript使用本地Pyodide配置步驟

    PyScript是“一個用于在 HTML(如 PHP)中交錯 Python 的系統(tǒng),這篇文章主要介紹了Pyscript使用本地Pyodide配置方法,需要的朋友可以參考下
    2022-12-12
  • 使用Python和Tesseract實現(xiàn)驗證碼識別功能

    使用Python和Tesseract實現(xiàn)驗證碼識別功能

    驗證碼識別是一個常見且實用的技術(shù)需求,尤其是在自動化測試和數(shù)據(jù)采集場景中,通過開源 OCR工具 Tesseract,結(jié)合 Python 的強(qiáng)大生態(tài),我們可以高效實現(xiàn)驗證碼識別任務(wù),本篇博客將以詳細(xì)步驟和代碼示例,介紹如何使用 Python 和 Tesseract 實現(xiàn)驗證碼識別
    2025-01-01
  • Python使用Srapy框架爬蟲模擬登陸并抓取知乎內(nèi)容

    Python使用Srapy框架爬蟲模擬登陸并抓取知乎內(nèi)容

    這里我們來看如何通過Python使用Srapy框架爬蟲模擬登陸并抓取知乎內(nèi)容的實例,要實現(xiàn)持續(xù)的爬取需要利用到cookie的保存,我們首先還是來回顧一下cookie的相關(guān)知識點:
    2016-07-07
  • Python機(jī)器學(xué)習(xí)入門(六)之Python優(yōu)化模型

    Python機(jī)器學(xué)習(xí)入門(六)之Python優(yōu)化模型

    這篇文章主要介紹了Python機(jī)器學(xué)習(xí)入門知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Python函數(shù)參數(shù)操作詳解

    Python函數(shù)參數(shù)操作詳解

    這篇文章主要介紹了Python函數(shù)參數(shù)操作,結(jié)合實例形式詳細(xì)分析了Python形參、實參、默認(rèn)參數(shù)、關(guān)鍵字參數(shù)、可變參數(shù)、對參數(shù)解包以及獲取參數(shù)個數(shù)等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • Python實戰(zhàn)之實現(xiàn)獲取動態(tài)圖表

    Python實戰(zhàn)之實現(xiàn)獲取動態(tài)圖表

    這篇文章主要介紹了利用Python實現(xiàn)動態(tài)化圖表,文中的示例代碼介紹詳細(xì),對我們的工作或?qū)W習(xí)有一定的價值,感興趣的同學(xué)可以學(xué)習(xí)一下
    2021-12-12
  • wxPython實現(xiàn)繪圖小例子

    wxPython實現(xiàn)繪圖小例子

    這篇文章主要為大家詳細(xì)介紹了wxPython實現(xiàn)繪圖小例子,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 使用anaconda的pip安裝第三方python包的操作步驟

    使用anaconda的pip安裝第三方python包的操作步驟

    今天小編就為大家分享一篇使用anaconda的pip安裝第三方python包的操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論