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

Pandas.concat連接DataFrame,Series的示例代碼

 更新時(shí)間:2023年02月22日 09:56:24   作者:餃子大人  
本文主要介紹了Pandas.concat連接DataFrame,Series的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

如何使用pandas.concat()函數(shù)連接pandas.DataFrame和pandas.Series。

將對(duì)以下內(nèi)容進(jìn)行說(shuō)明。

  • pandas.concat的基本用法()
    • 指定要連接的對(duì)象:objs
    • 連接方向的指定(垂直/水平):axis
    • 指定連接方法(外部連接/內(nèi)部連接):join
  • pandas.DataFrame的連接
  • pandas.Series的連接
  • pandas.DataFrame和pandas.Series的連接

使用以下的pandas.DataFrame和pandas.Series為例。

import pandas as pd

df1 = pd.DataFrame({'A': ['A1', 'A2', 'A3'],
? ? ? ? ? ? ? ? ? ? 'B': ['B1', 'B2', 'B3'],
? ? ? ? ? ? ? ? ? ? 'C': ['C1', 'C2', 'C3']},
? ? ? ? ? ? ? ? ? ?index=['ONE', 'TWO', 'THREE'])
print(df1)
# ? ? ? ? A ? B ? C
# ONE ? ?A1 ?B1 ?C1
# TWO ? ?A2 ?B2 ?C2
# THREE ?A3 ?B3 ?C3

df2 = pd.DataFrame({'C': ['C2', 'C3', 'C4'],
? ? ? ? ? ? ? ? ? ? 'D': ['D2', 'D3', 'D4']},
? ? ? ? ? ? ? ? ? ?index=['TWO', 'THREE', 'FOUR'])
print(df2)
# ? ? ? ? C ? D
# TWO ? ?C2 ?D2
# THREE ?C3 ?D3
# FOUR ? C4 ?D4

s1 = pd.Series(['X1', 'X2', 'X3'], index=['ONE', 'TWO', 'THREE'], name='X')
print(s1)
# ONE ? ? ?X1
# TWO ? ? ?X2
# THREE ? ?X3
# Name: X, dtype: object

s2 = pd.Series(['Y2', 'Y3', 'Y4'], index=['TWO', 'THREE', 'FOUR'], name='Y')
print(s2)
# TWO ? ? ?Y2
# THREE ? ?Y3
# FOUR ? ? Y4
# Name: Y, dtype: object

pandas.concat的基本用法()

指定要連接的對(duì)象:objs
通過(guò)參數(shù)objs指定要連接的pandas.DataFrame和pandas.Series,指定類(lèi)型為列表或元組。

df_concat = pd.concat([df1, df2])
print(df_concat)
#          A    B   C    D
# ONE     A1   B1  C1  NaN
# TWO     A2   B2  C2  NaN
# THREE   A3   B3  C3  NaN
# TWO    NaN  NaN  C2   D2
# THREE  NaN  NaN  C3   D3
# FOUR   NaN  NaN  C4   D4

要連接的對(duì)象的數(shù)量不限于兩個(gè),可以是三個(gè)或更多。

df_concat_multi = pd.concat([df1, df2, df1])
print(df_concat_multi)
#          A    B   C    D
# ONE     A1   B1  C1  NaN
# TWO     A2   B2  C2  NaN
# THREE   A3   B3  C3  NaN
# TWO    NaN  NaN  C2   D2
# THREE  NaN  NaN  C3   D3
# FOUR   NaN  NaN  C4   D4
# ONE     A1   B1  C1  NaN
# TWO     A2   B2  C2  NaN
# THREE   A3   B3  C3  NaN

結(jié)果是創(chuàng)建了一個(gè)新的對(duì)象,原始對(duì)象保持不變。

連接方向的指定(垂直/水平):axis

垂直或水平方向由axis參數(shù)指定。 如果axis = 0,則它們是垂直鏈接的。默認(rèn)設(shè)置為axis = 0,因此可以省略不寫(xiě)。

df_v = pd.concat([df1, df2], axis=0)
print(df_v)
#          A    B   C    D
# ONE     A1   B1  C1  NaN
# TWO     A2   B2  C2  NaN
# THREE   A3   B3  C3  NaN
# TWO    NaN  NaN  C2   D2
# THREE  NaN  NaN  C3   D3
# FOUR   NaN  NaN  C4   D4

axis = 1,水平方向上連接。

df_h = pd.concat([df1, df2], axis=1)
print(df_h)
#          A    B    C    C    D
# ONE     A1   B1   C1  NaN  NaN
# TWO     A2   B2   C2   C2   D2
# THREE   A3   B3   C3   C3   D3
# FOUR   NaN  NaN  NaN   C4   D4

指定連接方法(外部連接/內(nèi)部連接):join

參數(shù)join:指定列名(或行名)的并集,或者僅將公共部分保留。

join ='outer’是外部連接。列名(或行名)形成一個(gè)聯(lián)合,保留所有列(或行)。它是默認(rèn)設(shè)置,因此可以省略不寫(xiě)。在這種情況下,原始對(duì)象中列(或行)不存在的值將由的缺少值NaN代替。

join ='inner’是內(nèi)部連接。僅保留具有相同列名(或行名)的列(或行)。

df_v_out = pd.concat([df1, df2], join='outer')
print(df_v_out)
# ? ? ? ? ?A ? ?B ? C ? ?D
# ONE ? ? A1 ? B1 ?C1 ?NaN
# TWO ? ? A2 ? B2 ?C2 ?NaN
# THREE ? A3 ? B3 ?C3 ?NaN
# TWO ? ?NaN ?NaN ?C2 ? D2
# THREE ?NaN ?NaN ?C3 ? D3
# FOUR ? NaN ?NaN ?C4 ? D4

df_v_in = pd.concat([df1, df2], join='inner')
print(df_v_in)
# ? ? ? ? C
# ONE ? ?C1
# TWO ? ?C2
# THREE ?C3
# TWO ? ?C2
# THREE ?C3
# FOUR ? C4

水平方向。

df_h_out = pd.concat([df1, df2], axis=1, join='outer')
print(df_h_out)
# ? ? ? ? ?A ? ?B ? ?C ? ?C ? ?D
# FOUR ? NaN ?NaN ?NaN ? C4 ? D4
# ONE ? ? A1 ? B1 ? C1 ?NaN ?NaN
# THREE ? A3 ? B3 ? C3 ? C3 ? D3
# TWO ? ? A2 ? B2 ? C2 ? C2 ? D2

df_h_in = pd.concat([df1, df2], axis=1, join='inner')
print(df_h_in)
# ? ? ? ? A ? B ? C ? C ? D
# TWO ? ?A2 ?B2 ?C2 ?C2 ?D2
# THREE ?A3 ?B3 ?C3 ?C3 ?D3

如何更改列名和行名,請(qǐng)參考下列連接。

01_Pandas.DataFrame的行名和列名的修改

pandas.DataFrame的連接

將pandas.DataFrames連接在一起時(shí),返回的也是pandas.DataFrame類(lèi)型的對(duì)象。

df_concat = pd.concat([df1, df2])
print(df_concat)
# ? ? ? ? ?A ? ?B ? C ? ?D
# ONE ? ? A1 ? B1 ?C1 ?NaN
# TWO ? ? A2 ? B2 ?C2 ?NaN
# THREE ? A3 ? B3 ?C3 ?NaN
# TWO ? ?NaN ?NaN ?C2 ? D2
# THREE ?NaN ?NaN ?C3 ? D3
# FOUR ? NaN ?NaN ?C4 ? D4

print(type(df_concat))
# <class 'pandas.core.frame.DataFrame'>

pandas.Series的連接

如果是pandas.Series之間的連接,則垂直連接(默認(rèn)值axis= 0)返回的也是pandas.Series類(lèi)型的對(duì)象。

s_v = pd.concat([s1, s2])
print(s_v)
# ONE ? ? ?X1
# TWO ? ? ?X2
# THREE ? ?X3
# TWO ? ? ?Y2
# THREE ? ?Y3
# FOUR ? ? Y4
# dtype: object

print(type(s_v))
# <class 'pandas.core.series.Series'>

axis = 1時(shí),水平方向連接,返回pandas.DataFrame類(lèi)型的對(duì)象。

s_h = pd.concat([s1, s2], axis=1)
print(s_h)
# ? ? ? ? ?X ? ?Y
# FOUR ? NaN ? Y4
# ONE ? ? X1 ?NaN
# THREE ? X3 ? Y3
# TWO ? ? X2 ? Y2

print(type(s_h))
# <class 'pandas.core.frame.DataFrame'>

也可以使用參數(shù)join。

s_h_in = pd.concat([s1, s2], axis=1, join='inner')
print(s_h_in)
#         X   Y
# TWO    X2  Y2
# THREE  X3  Y3

pandas.DataFrame和pandas.Series的連接

對(duì)于pandas.DataFrame和pandas.Series連接,水平連接(axis= 1)將pandas.Series添加為新列。列名稱(chēng)是pandas.Series的名稱(chēng)。

df_s_h = pd.concat([df1, s2], axis=1)
print(df_s_h)
#          A    B    C    Y
# FOUR   NaN  NaN  NaN   Y4
# ONE     A1   B1   C1  NaN
# THREE   A3   B3   C3   Y3
# TWO     A2   B2   C2   Y2

也可以使用參數(shù)join。

df_s_h_in = pd.concat([df1, s2], axis=1, join='inner')
print(df_s_h_in)
#         A   B   C   Y
# TWO    A2  B2  C2  Y2
# THREE  A3  B3  C3  Y3

垂直連接(axis = 0)。

df_s_v = pd.concat([df1, s2])
print(df_s_v)
#          A    B    C    0
# ONE     A1   B1   C1  NaN
# TWO     A2   B2   C2  NaN
# THREE   A3   B3   C3  NaN
# TWO    NaN  NaN  NaN   Y2
# THREE  NaN  NaN  NaN   Y3
# FOUR   NaN  NaN  NaN   Y4

添加行,可以在.loc中指定新的行名稱(chēng)并分配值,或使用append()方法。

df1.loc['FOUR'] = ['A4', 'B4', 'C4']
print(df1)
# ? ? ? ? A ? B ? C
# ONE ? ?A1 ?B1 ?C1
# TWO ? ?A2 ?B2 ?C2
# THREE ?A3 ?B3 ?C3
# FOUR ? A4 ?B4 ?C4

s = pd.Series(['A5', 'B5', 'C5'], index=df1.columns, name='FIVE')
print(s)
# A ? ?A5
# B ? ?B5
# C ? ?C5
# Name: FIVE, dtype: object

df_append = df1.append(s)
print(df_append)
# ? ? ? ? A ? B ? C
# ONE ? ?A1 ?B1 ?C1
# TWO ? ?A2 ?B2 ?C2
# THREE ?A3 ?B3 ?C3
# FOUR ? A4 ?B4 ?C4
# FIVE ? A5 ?B5 ?C5

到此這篇關(guān)于Pandas.concat連接DataFrame,Series的示例代碼的文章就介紹到這了,更多相關(guān)Pandas concat連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python異步編程 使用yield from過(guò)程解析

    python異步編程 使用yield from過(guò)程解析

    這篇文章主要介紹了python異步編程 使用yield from過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python pandas修改列屬性的方法詳解

    python pandas修改列屬性的方法詳解

    今天小編就為大家分享一篇python pandas修改列屬性的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Django通過(guò)json格式收集主機(jī)信息

    Django通過(guò)json格式收集主機(jī)信息

    這篇文章主要介紹了基于Django收集主機(jī)信息json格式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Matplotlib繪圖基礎(chǔ)之子圖詳解

    Matplotlib繪圖基礎(chǔ)之子圖詳解

    這篇文章主要為大家詳細(xì)介紹了Matplotlib繪制子圖的常用方式和技巧,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-07-07
  • Python for循環(huán)通過(guò)序列索引迭代過(guò)程解析

    Python for循環(huán)通過(guò)序列索引迭代過(guò)程解析

    這篇文章主要介紹了Python for循環(huán)通過(guò)序列索引迭代過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 解決pycharm 工具欄Tool中找不到Run manager.py Task的問(wèn)題

    解決pycharm 工具欄Tool中找不到Run manager.py Task的問(wèn)題

    今天小編就為大家分享一篇解決pycharm 工具欄Tool中找不到Run manager.py Task的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • 如何用python繪制散點(diǎn)圖

    如何用python繪制散點(diǎn)圖

    這篇文章主要介紹了如何用python繪制散點(diǎn)圖問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 使用Python編寫(xiě)一個(gè)模仿CPU工作的程序

    使用Python編寫(xiě)一個(gè)模仿CPU工作的程序

    這篇文章主要介紹了使用Python編寫(xiě)一個(gè)模仿CPU工作的程序,包括簡(jiǎn)單的內(nèi)存和輸入輸出的實(shí)現(xiàn),本文中的例子需要一定的Python編程基礎(chǔ),是深入Python的實(shí)踐,需要的朋友可以參考下
    2015-04-04
  • python內(nèi)置函數(shù)compile(),complex()的使用

    python內(nèi)置函數(shù)compile(),complex()的使用

    這篇文章主要為大家詳細(xì)介紹了python內(nèi)置函數(shù)compile(),complex()的使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python dict的常用方法示例代碼

    Python dict的常用方法示例代碼

    這篇文章主要介紹了Python dict的常用方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論

延长县| 大余县| 永修县| 泽州县| 临武县| 香格里拉县| 广汉市| 玛纳斯县| 项城市| 观塘区| 桓仁| 清徐县| 婺源县| 嵊州市| 台湾省| 陕西省| 勐海县| 墨竹工卡县| 鲜城| 斗六市| 施甸县| 高陵县| 虞城县| 东港市| 鹿泉市| 岑溪市| 南木林县| 高要市| 景德镇市| 武义县| 旬阳县| 盐边县| 浦城县| 藁城市| 汝南县| 清河县| 上思县| 西吉县| 洞口县| 双江| 广州市|