但咱們在處理Pandas多表數據時,咱們須要將多個表之間進行表格的鏈接與合併,當鏈接完多表以後咱們可能還須要對數據進行多重的索引,方便咱們更快的找到數據,以及對數據進行作透視表,更加直觀的去觀察咱們的數據,今天咱們就圍繞着數據合併以及數據重塑及透視表進行展開講解,讓咱們去了解在Pandas中如何去這麼操做數據。數據庫
1、數據合併數組
一、鏈接表,app
在咱們得到數據的時候可能數據並不完整,而咱們須要將這些不完整的數據合併到一塊兒組成一個完整的數據,下面咱們對數據進行合併的操做。spa
查看一下三個表的數據.net
Concat參數以下3d
Objs(必須參數)對象
參與鏈接的pandas對象的列表或字典索引
Axisip
指名鏈接的軸向,默認爲0字符串
Join
選中inner或outer(默認),其餘軸向上索引是按交集(inner)仍是並集(outer)進行合併
Join_axes
指名用於其餘N-1條軸的索引,不執行並集/交集運算
Keys
與鏈接對象有關的值,用於造成鏈接軸向上的層次化索引。能夠是任意值的列表、數組、元組數組和數組列表(若是須要將levels設置成多級數組的話)
Levels
指定用做層次化索引各級別的索引,若是設置了keys的話
Names
用於建立分層級別的名稱,若是設置了keys或levels的話
Verify_integrity
檢查結果對象新軸上的重複狀況,若是發則引起異常。默認爲(false)容許重複
Ignore_index
不保留鏈接軸上的索引,產生一組新索引range
能夠看出,合併後的數據爲df1和df4都有的索引行進行合併的
能夠看出在合併的數據中原表中沒有的索引和列值都填充爲了NaN缺失值。
結果能夠看出,s2表中的數據並未肯定列名,那麼系統就自動的從0開始進行列名的名稱。
表格合併後將原有的列名所有替換爲一個range()序列
1.三、附加行
結尾能夠看出,合併後將s2中的數據做爲附加行跟在了df1表的後面
二、數據庫風格的DataFrame鏈接/合併
2.一、單個鍵進行鏈接
2.二、多個鍵進行鏈接
能夠看出左右表以共同存在的key一、key2的行做爲取出元素的依據,只取出了前三行,left表中的第四行爲k二、k1,right表中的第四行爲k二、k0,並不匹配因此沒有進行取值。
能夠看出此次鏈接是以left表彙總的key1 、key2做爲主鍵進行鏈接,right表中的不存在的主鍵元素則以NaN代替。
列名相同時則會從新命名列名
2.三、合併指示符
也可使用字符串做爲參數替代True,字符串會做爲該列的列名稱。
2.四、經過索引進行鏈接
2.五、經過索引和某列鏈接
經過結果能夠看出,right表中的數據重複了一遍。
2.六、重疊列名稱的合併
2.七、數據框拼接
若是都存在的值以傳入的數據爲準
2、數據重塑及透視表
一、多重索引
或者以一級標題或二級標題進行查看
使用level參數進行調用
二、透視表