數(shù)據(jù)合并之concat、append、merge和join
Pandas 是一套用于 Python 的快速、高效的數(shù)據(jù)分析工具。它可以用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時也提供數(shù)據(jù)清洗功能。本文將詳細講解數(shù)據(jù)合并與連接,目錄如下:

一.定義
concat函數(shù)可以在兩個維度上對數(shù)據(jù)進行拼接,默認縱向拼接(axis=0),即按行拼接。拼接方式默認為外連接(outer),即取所有的表頭字段或索引字段。
二.語法
參數(shù)釋義:
objs:需要用于連接合并的對象列表
axis:連接的方向,默認為0(按行),按列為1
join:連接的方式,默認為outer,可選inner只取交集
ignore_index:合并后的數(shù)據(jù)索引重置,默認為False,可選True
keys:列表或數(shù)組,也可以是元組的數(shù)組,用來構(gòu)造層次結(jié)構(gòu)索引
levels:指定用于層次化索引各級別上的索引,在有keys值時
names:用于創(chuàng)建分層級別名稱,在有keys和levels時
verify_integrity:檢查連接對象中新軸是否重復,若是則異常,默認為False允許重復
copy:默認為True,如果是False,則不會復制不必要的可以提高效率
三.代碼示例
首先,我們看一個簡單的例子:

以上代碼構(gòu)建了3個字典并轉(zhuǎn)為DataFrame,然后通過concat實現(xiàn)默認方式合并。合并演示如下:

1.設(shè)置參數(shù)keys





2.設(shè)置axis參數(shù)
axis=1按列合并,默認情況下,join='outer',合并時索引全部保留,對于不存在值的部分會默認賦NaN。



3.設(shè)置join參數(shù)


4.設(shè)置ignore_index參數(shù)

5.Series與DataFrame合并

一.定義
運用append方法,可以將Series或字典數(shù)據(jù)添加到DataFrame。
二.代碼示例

一.定義
merge函數(shù)可根據(jù)一個或多個鍵(列)相同進行DataFrame拼接。類似于關(guān)系型數(shù)據(jù)庫的join操作。
二.語法
參數(shù)釋義:
left:參與合并的左側(cè)數(shù)據(jù)
right:參與合并的右側(cè)數(shù)據(jù)
how:合并類型:inner(默認內(nèi)連接)、outer(外連接)、left(左連接)、right(右連接)
on:用于連接的列名,默認為左右側(cè)數(shù)據(jù)共有的列名,指定時需要為左右側(cè)數(shù)據(jù)都存在的列名
left_on:左側(cè)數(shù)據(jù)用于連接的列
right_on:右側(cè)數(shù)據(jù)用于連接的列
left_index:將左側(cè)索引作為連接的列
right_index:將右側(cè)索引作為連接的列
sort:排序,默認為True,設(shè)置為False可提高性能
suffixes:默認為('_x', '_y'),可以自定義如('date_x','date_y')
copy:默認為True,如果是False,則不會復制不必要的可以提高效率
indicator:指示器,默認False,設(shè)置為True時會新增一列標識
validate:字符串,如果指定則會檢測合并的數(shù)據(jù)是否滿足指定類型(1對1,1對多,多對1,多對多)
三.示例
首先,我們看一個簡單的例子:


1.設(shè)置參數(shù)how




2.設(shè)置validate參數(shù)

3.設(shè)置indicator參數(shù)

4.設(shè)置left_on參數(shù)和right_on參數(shù)

一.定義
join可以將兩個沒用共同列名的數(shù)據(jù)進行快速合并,默認是保留被合并的數(shù)據(jù)索引。join接受的參數(shù)有how、on和suffix等。
二.示例



E?N?D

各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗一下哦?。g迎提建議)
推薦閱讀
牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)
牛逼!Python的判斷、循環(huán)和各種表達式(長文系列第②篇)
推薦閱讀
牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)
牛逼!Python的判斷、循環(huán)和各種表達式(長文系列第②篇)
