【Python数据分析】之数据合并的concat函数与merge函数
生活随笔
收集整理的這篇文章主要介紹了
【Python数据分析】之数据合并的concat函数与merge函数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 系列文章
- 一、concat函數(shù)
- 1)橫向堆疊與外連接
- 橫向堆疊合并df1和df2,采用==外連接==的方式
- 2) 縱向堆疊與內鏈接
- 二、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,默認為0 |
| join | 表示連接的方式,inner表示內連接,outer表示外連接,默認使用外連接 |
| ignore_index | 接收布爾值,默認為False。如果設置為True,則表示清除現(xiàn)有索引并重置索引值 |
| keys | 接收序列,表示添加最外層索引 |
| levels | 用于構建MultiIndex的特定級別(唯一值) |
| names | 設置了keys和level參數(shù)后,用于創(chuàng)建分層級別的名稱 |
| verify_integerity | 檢查新的連接軸是否包含重復項。接收布爾值,當設置為True時,如果有重復的軸將會拋出錯誤,默認為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) 縱向堆疊與內鏈接
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ù)還支持對含有多個重疊列的DataFrame對象進行合并。
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 | 名稱,用于連接列名 |
| how | ?可以從{‘‘left’’ ,‘‘right’’, ‘‘outer’’, ‘‘inner’’}中任選一個,默認使用左連接的方式。 |
| sort | 根據(jù)連接鍵對合并的數(shù)據(jù)進行排序,默認為False |
on參數(shù)指定連接的列名
2)合并重疊數(shù)據(jù)
當DataFrame對象中出現(xiàn)了缺失數(shù)據(jù),而我們希望使用其他DataFrame對象中的數(shù)據(jù)填充缺失數(shù)據(jù),則可以通過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缺失的部分
總結
以上是生活随笔為你收集整理的【Python数据分析】之数据合并的concat函数与merge函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用python计算复利
- 下一篇: CAD dxf组码 Xdata 写入和读