最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python Pandas中合并數(shù)據(jù)的5個(gè)函數(shù)使用詳解

 更新時(shí)間:2022年05月07日 10:35:47   作者:黃偉呢  
數(shù)據(jù)合并是數(shù)據(jù)處理過程中的必經(jīng)環(huán)節(jié),pandas作為數(shù)據(jù)分析的利器,提供了五種常用的數(shù)據(jù)合并方式,讓我們看看如何使用這些方法吧!

前幾天在一個(gè)群里面,看到一位朋友,說到自己的阿里面試,被問了一些關(guān)于pandas的使用。其中一個(gè)問題是:pandas中合并數(shù)據(jù)的5中方法。

今天借著這個(gè)機(jī)會,就為大家盤點(diǎn)一下pandas中合并數(shù)據(jù)的5個(gè)函數(shù)。但是對于每個(gè)函數(shù),我這里不打算詳細(xì)說明,具體用法大家可以參考pandas官當(dāng)文檔。

  • join主要用于基于索引的橫向合并拼接;
  • merge主要用于基于指定列的橫向合并拼接;
  • concat可用于橫向和縱向合并拼接;
  • append主要用于縱向追加;
  • combine可以通過使用函數(shù),把兩個(gè)DataFrame按列進(jìn)行組合。

join

join是基于索引的橫向拼接,如果索引一致,直接橫向拼接。如果索引不一致,則會用Nan值填充。

索引一致

x = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
                     'B': ['B0', 'B1', 'B2']},
                    index=[0, 1, 2])
y = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
                      'D': ['D0', 'D2', 'D3']},
                    index=[0, 1, 2])
x.join(y)

結(jié)果如下:

圖片

索引不一致

x = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
                     'B': ['B0', 'B1', 'B2']},
                    index=[0, 1, 2])
y = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
                      'D': ['D0', 'D2', 'D3']},
                    index=[1, 2, 3])
x.join(y)

結(jié)果如下:

圖片

merge

merge是基于指定列的橫向拼接,該函數(shù)類似于關(guān)系型數(shù)據(jù)庫的連接方式,可以根據(jù)一個(gè)或多個(gè)鍵將不同的DatFrame連接起來。該函數(shù)的典型應(yīng)用場景是,針對同一個(gè)主鍵存在兩張不同字段的表,根據(jù)主鍵整合到一張表里面。

可以指定不同的how參數(shù),表示連接方式,有inner內(nèi)連、left左連、right右連、outer全連,默認(rèn)為inner;

x = pd.DataFrame({'姓名': ['張三', '李四', '王五'],
                     '班級': ['一班', '二班', '三班']})
y = pd.DataFrame({'專業(yè)': ['統(tǒng)計(jì)學(xué)', '計(jì)算機(jī)', '繪畫'],
                      '班級': ['一班', '三班', '四班']})

pd.merge(x,y,how="left")

結(jié)果如下:

圖片

concat

concat函數(shù)既可以用于橫向拼接,也可以用于縱向拼接。

縱向拼接

x = pd.DataFrame([['Jack','M',40],['Tony','M',20]], columns=['name','gender','age'])
y = pd.DataFrame([['Mary','F',30],['Bob','M',25]], columns=['name','gender','age'])
z = pd.concat([x,y],axis=0)
z

結(jié)果如下:

圖片

橫向拼接

x = pd.DataFrame({'姓名': ['張三', '李四', '王五'],
                     '班級': ['一班', '二班', '三班']})
y = pd.DataFrame({'專業(yè)': ['統(tǒng)計(jì)學(xué)', '計(jì)算機(jī)', '繪畫'],
                      '班級': ['一班', '三班', '四班']})
z = pd.concat([x,y],axis=1)
z

結(jié)果如下:

圖片

append

append主要用于縱向追加數(shù)據(jù)。

x = pd.DataFrame([['Jack','M',40],['Tony','M',20]], columns=['name','gender','age'])
y = pd.DataFrame([['Mary','F',30],['Bob','M',25]], columns=['name','gender','age'])
x.append(y)

結(jié)果如下:

圖片

combine

conbine可以通過使用函數(shù),把兩個(gè)DataFrame按列進(jìn)行組合。

x = pd.DataFrame({"A":[3,4],"B":[1,4]})
y = pd.DataFrame({"A":[1,2],"B":[5,6]})
x.combine(y,lambda a,b:np.where(a>b,a,b))

結(jié)果如下:

圖片

注:上述函數(shù),用于返回對應(yīng)位置上的最大值。

到此這篇關(guān)于Python Pandas中合并數(shù)據(jù)的5個(gè)函數(shù)使用詳解的文章就介紹到這了,更多相關(guān)Python Pandas合并數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

栾城县| 沾益县| 乐亭县| 左贡县| 大连市| 广饶县| 临桂县| 宜川县| 怀来县| 武山县| 卢湾区| 大庆市| 新绛县| 尼勒克县| 绥棱县| 南丰县| 林甸县| 芜湖县| 四子王旗| 射阳县| 翼城县| 加查县| 京山县| 江都市| 冕宁县| 仙居县| 台东市| 石城县| 华宁县| 晋城| 改则县| 西充县| 兴城市| 安福县| 天全县| 博野县| 雅安市| 成安县| 盘山县| 广饶县| 南陵县|