pandas數(shù)據(jù)合并之pd.concat()用法詳解
一、簡(jiǎn)介
pd.concat()函數(shù)可以沿著指定的軸將多個(gè)dataframe或者series拼接到一起。
基本語(yǔ)法:
- pd.concat( objs, axis=0, join=‘outer’, join_axes=None,ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True,)
- objs 表示需要連接的對(duì)象,比如:[df1, df2],需要將合并的數(shù)據(jù)用綜括號(hào)包圍;
- axis=0 表拼接方式是上下堆疊,當(dāng)axis=1表示左右拼接;
- join 參數(shù)控制的是外連接還是內(nèi)連接,join='outer’表示外連接,保留兩個(gè)表中的所有信息;join="inner"表示內(nèi)連接,拼接結(jié)果只保留兩個(gè)表共有的信息;
- join_axes參數(shù)是在內(nèi)連接時(shí)選擇要完整保留哪個(gè)表的索引,但是這個(gè)參數(shù)在官方文檔中提醒即將被棄用,所以不做詳細(xì)講解,只看一下join參數(shù)的表現(xiàn)吧;
二 、代碼
例1:上下堆疊拼接
import pandas as pd d1 = [["xiaolei",20,10081],["xiaowu",30,10082]] t1 = pd.DataFrame(d1) print(t1) print('*'*50) d2 = [["xiaowang",22,10083],["xiaoming",25,10084]] t2 = pd.DataFrame(d2) print(t2) print('*'*25+'合并結(jié)果如下(默認(rèn)是上下堆疊)'+'*'*25) t = pd.concat([t1,t2]) print(t)
運(yùn)行結(jié)果:
0 1 2
0 xiaolei 20 10081
1 xiaowu 30 10082
**************************************************
0 1 2
0 xiaowang 22 10083
1 xiaoming 25 10084
********************合并結(jié)果如下(默認(rèn)是上下堆疊)********************
0 1 2
0 xiaolei 20 10081
1 xiaowu 30 10082
0 xiaowang 22 10083
1 xiaoming 25 10084
例2:axis=1 左右拼接
import pandas as pd d1 = [["xiaolei",20,10081],["xiaowu",30,10082]] t1 = pd.DataFrame(d1) print(t1) print('*'*50) d2 = [["xiaowang",22,10083],["xiaoming",25,10084]] t2 = pd.DataFrame(d2) print(t2) print('*'*20+'合并結(jié)果如下(左右拼接)'+'*'*20) t = pd.concat([t1,t2], axis=1) print(t)
運(yùn)行結(jié)果:
0 1 2
0 xiaolei 20 10081
1 xiaowu 30 10082
**************************************************
0 1 2
0 xiaowang 22 10083
1 xiaoming 25 10084
********************合并結(jié)果如下(左右拼接)********************
0 1 2 0 1 2
0 xiaolei 20 10081 xiaowang 22 10083
1 xiaowu 30 10082 xiaoming 25 10084
到此這篇關(guān)于pandas數(shù)據(jù)合并之pd.concat()用法詳解的文章就介紹到這了,更多相關(guān)pandas pd.concat()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pandas DataFrame 數(shù)據(jù)選取,修改,切片的實(shí)現(xiàn)
這篇文章主要介紹了pandas DataFrame 數(shù)據(jù)選取,修改,切片的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Python線程池模塊ThreadPoolExecutor用法分析
這篇文章主要介紹了Python線程池模塊ThreadPoolExecutor用法,結(jié)合實(shí)例形式分析了Python線程池模塊ThreadPoolExecutor的導(dǎo)入與基本使用方法,需要的朋友可以參考下2018-12-12python3.7安裝matplotlib失敗問(wèn)題的完美解決方法
由于學(xué)習(xí)需要安裝matplotlib庫(kù),閱讀網(wǎng)上教程后一直出現(xiàn)各種各樣的錯(cuò)誤,下面這篇文章主要給大家介紹了關(guān)于python3.7安裝matplotlib失敗問(wèn)題的完美解決方法,需要的朋友可以參考下2022-07-07Python獲取excel的數(shù)據(jù)并繪制箱型圖和直方圖的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Python獲取excel的數(shù)據(jù)并繪制箱型圖和直方圖的相關(guān)資料,好的圖表能幫助我們深化數(shù)據(jù)的記憶點(diǎn),文中通過(guò)圖文以及代碼示例將實(shí)現(xiàn)的方法介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12關(guān)于python并發(fā)編程中的協(xié)程
協(xié)程是一種輕量級(jí)的并發(fā)方式,它是在用戶空間中實(shí)現(xiàn)的,并不依賴于操作系統(tǒng)的調(diào)度,協(xié)程可以在同一個(gè)線程中實(shí)現(xiàn)并發(fā),不需要進(jìn)行上下文切換,因此執(zhí)行效率非常高,需要的朋友可以參考下2023-04-04python列表刪除元素的三種實(shí)現(xiàn)方法
本文主要介紹了python列表刪除元素的三種實(shí)現(xiàn)方法,主要包括pop方法,remove方法,del方法這三種,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01filter使用python3代碼進(jìn)行迭代元素的實(shí)例詳解
在本篇文章里小編給大家整理了關(guān)于filter使用python3代碼進(jìn)行迭代元素的實(shí)例詳解內(nèi)容,有興趣的朋友們可以參考下。2020-12-12基于Python實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于Python實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07