" />

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

Pandas中Concat與Append的實(shí)現(xiàn)與區(qū)別小結(jié)

 更新時(shí)間:2023年11月22日 09:30:27   作者:阿松愛睡覺  
本文主要介紹了Pandas中Concat與Append的實(shí)現(xiàn)與區(qū)別小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在Numpy中,我們介紹過(guò)可以用np.concatenate、np.stack、np.vstacknp.hstack實(shí)現(xiàn)合并功能。Pandas中有一個(gè)pd.concat()函數(shù)與concatenate語(yǔ)法類似,但是配置參數(shù)更多,功能也更強(qiáng)大。

主要參數(shù):

pd.concat()可以簡(jiǎn)單地合并一維的SeriesDataFrame對(duì)象。

# Series合并
ser1 = pd.Series(['A', 'B', 'C'], index=[1, 2, 3])
ser2 = pd.Series(['D', 'E', 'F'], index=[4, 5, 6])
pd.concat([ser1,ser2])
Out:
 1 A 
 2 B 
 3 C 
 4 D 
 5 E 
 6 F 
 dtype: object
 
# DataFrame合并,將concat的axis參數(shù)設(shè)置為1即可橫向合并
df1 = pd.DataFrame([["A1","B1"],["A2","B2"]],index=[1,2],columns=["A","B"])
df2 = pd.DataFrame([["A3","B3"],["A4","B4"]],index=[3,4],columns=["A","B"])
pd.concat([df1,df2])
Out:
    A  B
 1 A1 B1 
 2 A2 B2 
 3 A3 B3 
 4 A4 B4

合并時(shí)索引的處理

np.concatenate與pd.concat最主要的差異之一就是Pandas在合并時(shí)會(huì)保留索引,即使索引是重復(fù)的!

df3 = pd.DataFrame([["A1","B1"],["A2","B2"]],index=[1,2],columns=["A","B"])
df4 = pd.DataFrame([["A1","B1"],["A2","B2"]],index=[1,2],columns=["A","B"])
pd.concat([df3,df4])
Out:
    A  B
 1 A1 B1 
 2 A2 B2 
 1 A3 B3 
 2 A4 B4
  • 如果你想要檢測(cè)pd.concat()合并的結(jié)果中是否出現(xiàn)了重復(fù)的索引,可以設(shè)置verify_integrity參數(shù)。將參數(shù)設(shè)置為True,合并時(shí)若有索引重復(fù)就會(huì)觸發(fā)異常。
try: 
 pd.concat([df3, df4], verify_integrity=True) 
except ValueError as e: 
 print("ValueError:", e)
Out:
ValueError: Indexes have overlapping values: [0, 1]
  • 有時(shí)索引無(wú)關(guān)緊要,那么合并時(shí)就可以忽略它們,可以通過(guò)設(shè)置 ignore_index參數(shù)為True來(lái)實(shí)現(xiàn)。
pd.concat([df3,df4],ignore_index=True)
Out:
   A B 
0 A0 B0 
1 A1 B1 
2 A2 B2 
3 A3 B3
  • 另一種處理索引重復(fù)的方法是通過(guò)keys參數(shù)為數(shù)據(jù)源設(shè)置多級(jí)索引標(biāo)簽,這樣結(jié)果數(shù)據(jù)就會(huì)帶上多級(jí)索引。
pd.concat([df3, df4], keys=['x', 'y'])
Out:
     A B 
x 0 A0 B0 
  1 A1 B1 
y 0 A2 B2 
  1 A3 B3

join和join_axes參數(shù)

前面介紹的簡(jiǎn)單示例都有一個(gè)共同特點(diǎn),那就是合并的DataFrame都是同樣的列名。而在實(shí)際工作中,需要合并的數(shù)據(jù)往往帶有不同的列名,而 pd.concat提供了一些參數(shù)來(lái)解決這類合并問(wèn)題。

df5 = pd.DataFrame([["A1","B1","C1"],["A2","B2","C2"]],index=[1,2],columns=["A","B","C"])
df6 = pd.DataFrame([["B3","C3","D3"],["B4","C4","D4"]],index=[3,4],columns=["B","C","D"])
pd.concat([df5,df6])
Out:
    A  B  C  D
 1 A1  B1 C1 NaN
 2 A2  B2 C2 NaN
 3 NaN B3 C3 D3
 4 NaN B4 C4 D4

可以看到,結(jié)果中出現(xiàn)了缺失值,如果不想出現(xiàn)缺失值,可以使用join和join_axes參數(shù)。

pd.concat([df5,df6],join="inner") # 合并取交集
Out:
    B C 
 1 B1 C1 
 2 B2 C2 
 3 B3 C3 
 4 B4 C4
# join_axes的參數(shù)需為一個(gè)列表索引對(duì)象
pd.concat([df5,df6],join_axes=[pd.Index(["B","C"])])
Out:
    B C 
 1 B1 C1 
 2 B2 C2 
 3 B3 C3 
 4 B4 C4

append()方法

因?yàn)橹苯舆M(jìn)行數(shù)組合并的需求非常普遍,所以SeriesDataFrame 對(duì)象都支持append方法,讓你通過(guò)最少的代碼實(shí)現(xiàn)合并功能。例如,df1.append(df2)效果與pd.concat([df1,df2])一樣。

但是它和Python中的append不一樣,每次使用Pandas中的append()都需要重新創(chuàng)建索引和數(shù)據(jù)緩存。

到此這篇關(guān)于Pandas中Concat與Append的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Pandas Concat與Append內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文詳解Python中pip安裝的提速全攻略

    一文詳解Python中pip安裝的提速全攻略

    在Python開發(fā)過(guò)程中,使用pip安裝第三方包是最常見的操作之一,本文將為你詳細(xì)介紹多種有效的pip安裝提速方法,大家可以根據(jù)需要進(jìn)行選擇
    2025-08-08
  • Python基于wxPython和FFmpeg開發(fā)一個(gè)視頻標(biāo)簽工具

    Python基于wxPython和FFmpeg開發(fā)一個(gè)視頻標(biāo)簽工具

    在當(dāng)今數(shù)字媒體時(shí)代,視頻內(nèi)容的管理和標(biāo)記變得越來(lái)越重要,無(wú)論是研究人員需要對(duì)實(shí)驗(yàn)視頻進(jìn)行時(shí)間點(diǎn)標(biāo)記,還是個(gè)人用戶希望對(duì)家庭視頻進(jìn)行分類整理,一個(gè)高效的視頻標(biāo)簽工具都是不可或缺的,本文將詳細(xì)分析一個(gè)基于Python、wxPython和FFmpeg開發(fā)的視頻標(biāo)簽工具
    2025-04-04
  • Python正則表達(dá)式的另類解答

    Python正則表達(dá)式的另類解答

    這篇文章主要為大家詳細(xì)介紹了Python正則表達(dá)式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • Python計(jì)算序列相似度的算法實(shí)例

    Python計(jì)算序列相似度的算法實(shí)例

    這篇文章主要介紹了Python計(jì)算序列相似度的算法實(shí)例,求兩個(gè)序列轉(zhuǎn)換的最少交換步驟和最小交換距離,本文提供了部分實(shí)現(xiàn)代碼與解決思路,對(duì)開發(fā)非常有幫助,需要的朋友可以參考下
    2023-07-07
  • Python中cx_Oracle模塊導(dǎo)入錯(cuò)誤的解決辦法詳細(xì)指南

    Python中cx_Oracle模塊導(dǎo)入錯(cuò)誤的解決辦法詳細(xì)指南

    在Python中使用cx_Oracle模塊連接和操作Oracle數(shù)據(jù)庫(kù)時(shí)可能遇到的錯(cuò)誤,這篇文章主要介紹了Python中cx_Oracle模塊導(dǎo)入錯(cuò)誤的解決辦法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-09-09
  • Django用戶認(rèn)證系統(tǒng) Web請(qǐng)求中的認(rèn)證解析

    Django用戶認(rèn)證系統(tǒng) Web請(qǐng)求中的認(rèn)證解析

    這篇文章主要介紹了Django用戶認(rèn)證系統(tǒng) Web請(qǐng)求中的認(rèn)證解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python實(shí)現(xiàn)將Json轉(zhuǎn)換為Xml與Markdown

    Python實(shí)現(xiàn)將Json轉(zhuǎn)換為Xml與Markdown

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)將Json轉(zhuǎn)換為Xml與Markdown格式,文中的示例代碼講解詳細(xì),有需要的小伙伴可以了解一下
    2025-07-07
  • 詳解在python中如何使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓縮

    詳解在python中如何使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓縮

    Python有一些內(nèi)置庫(kù)用于處理數(shù)據(jù)壓縮和解壓縮,其中一個(gè)就是zlib模塊,這個(gè)模塊為DEFLATE壓縮算法和相關(guān)的gzip(文件格式)提供了支持,在這篇文章中,我們將深入探討如何使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓縮
    2023-06-06
  • Django在視圖中使用表單并和數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互的實(shí)現(xiàn)

    Django在視圖中使用表單并和數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互的實(shí)現(xiàn)

    本文主要介紹了Django在視圖中使用表單并和數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Python抓取聚劃算商品分析頁(yè)面獲取商品信息并以XML格式保存到本地

    Python抓取聚劃算商品分析頁(yè)面獲取商品信息并以XML格式保存到本地

    這篇文章主要為大家詳細(xì)介紹了Python抓取聚劃算商品分析頁(yè)面獲取商品信息,并以XML格式保存到本地的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評(píng)論

天气| 康马县| 永顺县| 成都市| 治县。| 宁强县| 察哈| 新河县| 霍邱县| 嘉鱼县| 无为县| 琼海市| 广水市| 望城县| 安图县| 华亭县| 秦安县| 丰都县| 武汉市| 丹寨县| 通山县| 盖州市| 且末县| 揭东县| 丹阳市| 靖远县| 桂东县| 深泽县| 东安县| 棋牌| 祁阳县| 鹤岗市| 中江县| 阿拉善右旗| 彝良县| 临颍县| 丹凤县| 新巴尔虎右旗| 齐齐哈尔市| 荣昌县| 巢湖市|