【Python数据分析】之数据合并的concat函数与merge函数
生活随笔
收集整理的這篇文章主要介紹了
【Python数据分析】之数据合并的concat函数与merge函数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 系列文章
- 一、concat函數(shù)
- 1)橫向堆疊與外連接
- 橫向堆疊合并df1和df2,采用==外連接==的方式
- 2) 縱向堆疊與內(nèi)鏈接
- 二、merge()函數(shù)
- 1)根據(jù)行索引合并數(shù)據(jù)
- 2)合并重疊數(shù)據(jù)
系列文章
一、concat函數(shù)
pandas.concat(objs, axis=0, join=’outer’, join_axes=None, ignore_index=False, keys=None, levels=None, verify_integrity=False, sort=None, copy=True)
| axis | 表示連接的軸向,可以為0或者1,默認(rèn)為0 |
| join | 表示連接的方式,inner表示內(nèi)連接,outer表示外連接,默認(rèn)使用外連接 |
| ignore_index | 接收布爾值,默認(rèn)為False。如果設(shè)置為T(mén)rue,則表示清除現(xiàn)有索引并重置索引值 |
| keys | 接收序列,表示添加最外層索引 |
| levels | 用于構(gòu)建MultiIndex的特定級(jí)別(唯一值) |
| names | 設(shè)置了keys和level參數(shù)后,用于創(chuàng)建分層級(jí)別的名稱(chēng) |
| verify_integerity | 檢查新的連接軸是否包含重復(fù)項(xiàng)。接收布爾值,當(dāng)設(shè)置為T(mén)rue時(shí),如果有重復(fù)的軸將會(huì)拋出錯(cuò)誤,默認(rèn)為False |
1)橫向堆疊與外連接
import pandas as pd df1=pd.DataFrame({'A':['A0','A1','A2'],'B':['B0','B1','B2']}) df1 df2=pd.DataFrame({'C':['C0','C1','C2'],'D':['D0','D1','D2']}) df2橫向堆疊合并df1和df2,采用外連接的方式
pd.concat([df1,df2],join='outer',axis=1)2) 縱向堆疊與內(nèi)鏈接
import pandas as pd first=pd.DataFrame({'A':['A0','A1','A2'],'B':['B0','B1','B2'],'C':['C0','C1','C2']}) first second=pd.DataFrame({'B':['B3','B4','B5'],'C':['C3','C4','C5'],'D':['D3','D4','D5']}) second二、merge()函數(shù)
1)主鍵合并數(shù)據(jù)
2)merge()函數(shù)還支持對(duì)含有多個(gè)重疊列的DataFrame對(duì)象進(jìn)行合并。
import pandas as pd data1=pd.DataFrame({'key':['K0','K1','K2'],'A':['A0','A1','A2'],'B':['B0','B1','B2']}) data1 data2=pd.DataFrame({'key':['K0','K5','K2','K4'],'B':['B0','B1','B2','B5'],'C':['C0','C1','C2','C3'],'D':['D0','D1','D2','D3']}) data2 pd.merge(data1,data2,on=['key','B'])1)根據(jù)行索引合并數(shù)據(jù)
| on | 名稱(chēng),用于連接列名 |
| how | ?可以從{‘‘left’’ ,‘‘right’’, ‘‘outer’’, ‘‘inner’’}中任選一個(gè),默認(rèn)使用左連接的方式。 |
| sort | 根據(jù)連接鍵對(duì)合并的數(shù)據(jù)進(jìn)行排序,默認(rèn)為False |
on參數(shù)指定連接的列名
2)合并重疊數(shù)據(jù)
當(dāng)DataFrame對(duì)象中出現(xiàn)了缺失數(shù)據(jù),而我們希望使用其他DataFrame對(duì)象中的數(shù)據(jù)填充缺失數(shù)據(jù),則可以通過(guò)combine_first()方法為缺失數(shù)據(jù)填充。
import pandas as pd import numpy as np from numpy import NAN left = pd.DataFrame({'A': [np.nan, 'A1', 'A2', 'A3'],'B': [np.nan, 'B1', np.nan, 'B3'],'key': ['K0', 'K1', 'K2', 'K3']}) left right = pd.DataFrame({'A': ['C0', 'C1','C2'],'B': ['D0', 'D1','D2']},index=[1,0,2]) right
用right的數(shù)據(jù)填充left缺失的部分
總結(jié)
以上是生活随笔為你收集整理的【Python数据分析】之数据合并的concat函数与merge函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用python计算复利
- 下一篇: CAD dxf组码 Xdata 写入和读