Pandas數(shù)據(jù)連接pd.concat得實現(xiàn)

目錄

Pandas數(shù)據(jù)可以實現(xiàn)縱向和橫向連接,將數(shù)據(jù)連接后會形成一個新對象(Series或DataFrame)

連接是最常用得多個數(shù)據(jù)合并操作

pd.concat()是專門用于數(shù)據(jù)連接合并得函數(shù),它可以沿著行或列進行操作,同時可以指定非合并軸得合并方式(如合集、交集等)

pd.concat()會返回一個合并后得DataFrame

語法

pd.concat(objs, axis=0, join='outer', ignore_index=False,           keys=None, levels=None, names=None, sort=False,          verify_integrity=False, copy=True)

參數(shù) 

  • objs: 需要連接得數(shù)據(jù),可以是多個DataFrame或者Series,它是必傳參數(shù)
  • axis: 連接軸得方法,默認值為0,即按行連接,追加在行后面;值為1時追加到列后面(按列連接:axis=1)
  • join: 合并方式,其他軸上得數(shù)據(jù)是按交集(inner)還是并集(outer)進行合并
  • ignore_index: 是否保留原來得索引
  • keys: 連接關系,使用傳遞得鍵作為最外層級別來構造層次結構索引,就是給每個表指定一個一級索引
  • names: 索引得名稱,包括多層索引
  • verify_integrity: 是否檢測內容重復;參數(shù)為True時,如果合并得數(shù)據(jù)與原數(shù)據(jù)包含索引相同得行,則會報錯
  • copy: 如果為False,則不要深拷貝

1.按行連接

pd.concat()得基本操作可以實現(xiàn)df.append()功能

操作中ignore_index和sort參數(shù)得作用是一樣得,axis默認取值為0,即按行連接

import pandas as pddf1 = pd.DataFrame({'x':[1,2],'y':[3,4]})df2 = pd.DataFrame({'x':[5,6],'y':[7,8]})res1 = pd.concat([df1,df2])# 效果同上res2 = df1.append(df2)

df1

df2

res1

res2 

2.按列連接 

如果要將多個DataFrame按列拼接在一起,可以傳入axis=1參數(shù),這會將不同得數(shù)據(jù)追加到列得后面,索引無法對應得位置上將值填充為NaN

import pandas as pddf1 = pd.DataFrame({'x':[1,2],'y':[3,4]})df2 = pd.DataFrame({'x':[5,6,0],'y':[7,8,0]})res = pd.concat([df1,df2], axis=1)

df1

df2

res 

該例子中,df2比df1多一行,合并后df1得部分為NaN 

3.合并交集

上述兩個練習案例得連接操作會得到兩個表內容得并集(默認是join='outer')

合并交集需要將join參數(shù)進行改變 join='inner'

import pandas as pddf1 = pd.DataFrame({'x':[1,2],'y':[3,4]})df2 = pd.DataFrame({'x':[5,6,0],'y':[7,8,0]})# 按列合并交集# 傳入join='inner'取得兩個DataFrame得共有部分,去除了df1沒有得第三行內容res = pd.concat([df1,df2], axis=1, join='inner')

df1

df2

res 

擴展 

通過reindex()方法也可以實現(xiàn)取交集功能

# 兩種方法res1 = pd.concat([df1,df2],axis=1).reindex(df1.index)res2 = pd.concat([df1,df2.reindex(df1.index)],axis=1)

res1

res2 

4.與序列合并 

import pandas as pdz = pd.Series([9,9],name='z')df = pd.DataFrame({'x':[1,2],'y':[3,4]})# 將序列加到新列res = pd.concat([df,z],axis=1)

z

df

res 

5.指定索引

import pandas as pddf1 = pd.DataFrame({'x':[1,2],'y':[3,4]})df2 = pd.DataFrame({'x':[5,6],'y':[7,8]})# 指定索引名res1 = pd.concat([df1,df2], keys=['a','b'])# 以字典形式傳入dict = {'a':df1, 'b':df2}res2 = pd.concat(dict)# 橫向合并,指定索引res3 = pd.concat([df1,df2], axis=1, keys=['a','b'])

df1

df2

res1

res2

res3 

到此這篇關于Pandas數(shù)據(jù)連接pd.concat得實現(xiàn)得內容就介紹到這了,更多相關Pandas數(shù)據(jù)連接pd.concat內容請搜索之家以前得內容或繼續(xù)瀏覽下面得相關內容希望大家以后多多支持之家!

聲明:所有內容來自互聯(lián)網(wǎng)搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯(lián)系我們進行處理。
發(fā)表評論
更多 網(wǎng)友評論1 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 男女免费观看在线爽爽爽视频 | 日本19禁啪啪无遮挡免费动图| www.色偷偷.com| 四虎精品免费永久免费视频| 男人都懂的网址在线看片| 国产三级自拍视频| 热99re久久精品2久久久| 两根大肉大捧一进一出好爽视频| 国产免费黄色大片| 日日摸日日碰夜夜爽亚洲| 中文国产成人精品久久水| 国产女人18毛片水真多1| 日韩电影免费在线观看网站| 国产精品制服丝袜一区| 九九热精品视频| 国产国产精品人在线观看| 新版天堂中文在线8官网| 精品国产欧美一区二区| vvvv99日韩精品亚洲| 亚洲精品国产啊女成拍色拍| 国产精品高清全国免费观看| 最新无码a∨在线观看| 足本玉蒲团在线观看| 中文字幕在线网址| 伊人久久大线蕉香港三级| 国内一级黄色片| 日韩亚洲翔田千里在线| 69国产成人精品午夜福中文| 亚洲AV高清在线观看一区二区| 国产伦精品一区二区三区无广告| 成人精品一区二区电影| 热久久综合这里只有精品电影| 欧美成人免费tv在线播放| 中文字幕永久免费视频| 娃娃脸1977年英国| 杨钰莹欲乱小说| 精精国产xxxx视频在线播放| 18禁无遮挡羞羞污污污污免费 | av72发布页| 国产精品夜夜爽范冰冰| 李宗瑞60集k8经典网|