pandas如何在dataframe上再添加一個dataframe

`pandas`中,通常將一個`DataFrame`與另一個`DataFrame`進行合并或連接操作,主要有`concat`函數、`merge`函數和`join`方法三種方式,以下是具體介紹:

### 使用`concat`函數

`concat`函數可以沿著指定軸將多個`DataFrame`連接在一起,默認是按行方向(`axis=0`)進行連接,即將一個`DataFrame`添加到另一個`DataFrame`的下方。示例代碼如下:

```python

import pandas as pd

#
創建第一個DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
#
創建第二個DataFrame
df2 = pd.DataFrame({'A': [4, 5, 6], 'B': [7, 8, 9]})

#
使用concat函數按行方向連接兩個DataFrame
result = pd.concat([df1, df2], axis=0, ignore_index=True)
print(result)
print('=====================')
result2 = pd.concat([df1, df2], axis=1, ignore_index=True)
print(result2)

上述代碼中,`axis=0`表示按行方向連接,`ignore_index=True`表示重新生成連續的索引。如果想要按列方向連接,即將`df2`添加到`df1`的右側,只需要將`axis`參數設置為`1`

### 使用`merge`函數

`merge`函數用于根據指定的鍵將兩個`DataFrame`進行合并。示例代碼如下:

```python

import pandas as pd

#
創建第一個DataFrame
df1 = pd.DataFrame({'key': ['K1', 'K2', 'K3'], 'A': [1, 2, 3], 'B': [4, 5, 6]})
#
創建第二個DataFrame
df2 = pd.DataFrame({'key': ['K2', 'K3', 'K4'], 'C': [7, 8, 9], 'D': [10, 11, 12]})

#
使用merge函數根據key列進行合并
result = pd.merge(df1, df2, on='key', how='outer')
print(result)
result = pd.merge(df1, df2, on='key', how='inner')
print(result)
result = pd.merge(df1, df2, on='key', how='left')
print(result)
result = pd.merge(df1, df2, on='key', how='right')
print(result)

```

在這個例子中,`on='key'`指定了根據`key`列進行合并,`how='outer'`表示采用外連接的方式,inner是內連接,leftright分別是左右連接,保留兩個`DataFrame`中所有的鍵值對。

### 使用`join`方法

`join`方法可以根據索引或指定的鍵將兩個`DataFrame`進行合并。示例代碼如下:

```python

import pandas as pd

#
創建第一個DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
#
創建第二個DataFrame
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=['b', 'c', 'd'])

#
使用join方法根據索引進行合并
result = df1.join(df2, how='outer')
print(result)
result = df1.join(df2, how='inner')
print(result)
result = df1.join(df2, how='left')
print(result)
result = df1.join(df2, how='right')
print(result)

```

上述代碼中,默認根據索引進行合并,`how='outer'`表示外連接。如果想要根據特定列進行合并,可以使用`on`參數指定列名。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70760.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70760.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70760.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

YOLOv12 ——基于卷積神經網絡的快速推理速度與注意力機制帶來的增強性能結合

概述 實時目標檢測對于許多實際應用來說已經變得至關重要,而Ultralytics公司開發的YOLO(You Only Look Once,只看一次)系列一直是最先進的模型系列,在速度和準確性之間提供了穩健的平衡。注意力機制的低效阻礙了它們在…

OpenAI開放Deep Research權限,AI智能體大戰升級,DeepSeek與Claude迎來新對決

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎?訂閱我們的簡報,深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同,從行業內部的深度分析和實用指南中受益。不要錯過這個機會,成為AI領…

鴻蒙5.0實戰案例:基于RichEditor的評論編輯

往期推文全新看點(文中附帶全新鴻蒙5.0全棧學習筆錄) ?? 鴻蒙(HarmonyOS)北向開發知識點記錄~ ?? 鴻蒙(OpenHarmony)南向開發保姆級知識點匯總~ ?? 鴻蒙應用開發與鴻蒙系統開發哪個更有前景&#…

通過命令啟動steam的游戲

1. 啟動Steam客戶端 在命令行輸入以下命令來啟動Steam客戶端: start steam://open/main 如果Steam未安裝在默認路徑,可能需要先定位到Steam的安裝目錄,例如: cd C:\Program Files (x86)\Steam start steam://open/main 2. 通過…

RIP-AV:使用上下文感知網絡進行視網膜動脈/靜脈分割的聯合代表性實例預訓練

文章目錄 RIP-AV: Joint Representative Instance Pre-training with Context Aware Network for Retinal Artery/Vein Segmentation摘要方法實驗結果 RIP-AV: Joint Representative Instance Pre-training with Context Aware Network for Retinal Artery/Vein Segmentation …

單片機總結【GPIO/TIM/IIC/SPI/UART】

一、GPIO 1、概念 通用輸入輸出口;開發者可以根據自己的需求將其配置為輸入或輸出模式,以實現與外部設備進行數據交互、控制外部設備等功能。簡單來說,GPIO 就像是計算機或微控制器與外部世界溝通的 “橋梁”。 2、工作模式 工作模式性質特…

.gitignore 文件中添加忽略 .pdb 文件

我在項目的根目錄下創建.gitignore文件。打開.gitignore文件并添加忽略.pdb文件的規則。如下: 已經在 .gitignore 文件中添加了忽略 .pdb 文件的規則,但是提交到 Git 倉庫時仍然看到了 .pdb 文件,這通常意味著 .pdb 文件在 .gitignore 文件被…

ubuntu配置jmeter

1.前提準備 系統 ubuntu server 22.04 前提條件:服務器更新apt與安裝lrzsz:更新apt: sudo apt update安裝lrzsz: 命令行下的上傳下載文件工具 sudo apt install lrzszsudo apt install zip2.安裝jemeter 2.1.下載jdk17 輸入命令&#xf…

半導體晶圓精控:ethercat轉profient網關數據提升制造精度

數據采集系統通過網關連接離子注入機,精細控制半導體晶圓制造過程中的關鍵參數。 在半導體制造中,晶圓制造設備的精密控制是決定產品性能的關鍵因素。某半導體工廠采用耐達訊Profinet轉EtherCAT協議網關NY-PN-ECATM,將其數據采集系統與離子注…

VSCode+PlatformIO報錯 找不到頭文件

如圖示,找不到目標頭文件 demo工程運行正常,考慮在src文件夾內開辟自己的代碼,添加后沒有找到 找了些資料,大概記錄如下: 1、c_cpp_properties.json 內記錄 頭文件配置 .vscode 中,此文件是自動生成的&a…

ARM 處理器平臺 eMMC Flash 存儲磨損測試示例

By Toradex秦海 1). 簡介 目前工業嵌入式 ARM 平臺最常用的存儲器件就是 eMMC Nand Flash 存儲,而由于工業設備一般生命周期都比較長,eMMC 存儲器件的磨損壽命對于整個設備來說至關重要,因此本文就基于 NXP i.MX8M Mini ARM 處理器平臺演示…

Comfy UI 快捷鍵

Comfy UI 頁面的快捷鍵操作(記錄下,以防忘記): 捷徑命令Ctrl Enter將當前圖表排隊等待生成Ctrl Shift Enter將當前圖表排成第一個生成圖表Ctrl Z/Ctrl Y撤消/重做Ctrl S保存工作流程Ctrl O加載工作流Ctrl A選擇所有節點A…

uniapp 本地數據庫多端適配實例(根據運行環境自動選擇適配器)

項目有個需求,需要生成app和小程序,app支持離線數據庫,如果當前沒有網絡提醒用戶開啟離線模式,所以就隨便搞了下,具體的思路就是: 一個接口和多個實現類(類似后端的模板設計模式)&am…

HIVE SQL函數之比較函數

背景:今天接到一個臨時需求,需要比較abc的大小,但是abc三個字段都存在為空的情況。 開發:對于這個開發很簡單,因為比較函數有太多了,首先想到的是用case when去進行一個非空的判斷,再去比較用I…

AI探索筆記:淺談人工智能算法分類

人工智能算法分類 這是一張經典的圖片,基本概況了人工智能算法的現狀。這張圖片通過三個同心圓展示了人工智能、機器學習和深度學習之間的包含關系,其中人工智能是最廣泛的范疇,機器學習是其子集,專注于數據驅動的算法改進&#…

進程概念、PCB及進程查看

文章目錄 一.進程的概念進程控制塊(PCB) 二.進程查看通過指令查看進程通過proc目錄查看進程的cwd和exe獲取進程pid和ppid通過fork()創建子進程 一.進程的概念 進程是一個運行起來的程序,而程序是存放在磁盤的,cpu要想執行程序的指…

OA辦公系統自動滲透測試過程

目錄 一、下載環境源碼 二、部署環境 三、測試 XSS漏洞 SQL注入 文件上傳漏洞 一、下載環境源碼 OA源碼打包地址: https://download.csdn.net/download/weixin_43650289/90434502?spm=1001.2014.3001.5503 二、部署環境

怎么修改node_modules里的文件,怎么使用patch-package修改node_modules的文件,怎么修改第三方庫原文件。

在開發中會遇到需要node_modules里第三方庫有bug,然后需要修改node_modules文件的情況 使用patch-package包可以修改node_modules里的文件 patch-package npm 官網:patch-package - npm 安裝 npm i patch-package 修改文件后 npx patch-package s…

Python在實際工作中的運用-通用格式CSV文件自動轉換XLSX

繼續上篇《Python在實際工作中的運用-CSV無損轉XLSX的幾個方法》我們雖然對特定格式的CSV實現了快速轉換XLSX的目標,但是在運行Py腳本前,還是需要編輯表格創建腳本和數據插入腳本,自動化程度很低,實用性不強,為減少人工提高效率,實現輸入CSV文件路徑即可自動適配完成轉換…

seacmsv9報錯注入

1、seacms的介紹 ? seacms中文名&#xff1a;海洋影視管理系統。是一個采用了php5mysql架構的影視網站框架&#xff0c;因此&#xff0c;如果該框架有漏洞&#xff0c;那使用了該框架的各個網站都會有相同問題。 2、源碼的分析 漏洞的部分源碼如下&#xff1a; <?php …