在介紹concat之前要來認識一下append,
過去有在使用Pandas的人可能也都用過append的方式來增加列/資料,
而現在因為考量實用性、靈活性及效能,
已經被concat語法取而代之,
而當時也發出了棄用聲明如下。
從 1.4.0 版本開始,拋出棄用警告,
Pandas 2.0 開始 DataFrame.append 和 Series.append 已經刪除這個方法。
可以用 pd.concat() 方法來取代。
所以今天就來說明concat的用法吧。
首先,今天的合併先以Series
結構來做說明。
這裡簡單建立兩個Series
結構的資料。
s1 = pd.Series(['a', 'b'])
s2 = pd.Series(['c', 'd'])
接著使用concat合併兩個Series
結構的資料,
語法pd.concat([資料1, 資料2])
,
這裡要另外注意的是ignore_index預設為False,
也就是資料的index在合併後,
還是會維持先前資料的index。
s3 = pd.concat([s1, s2]) # ignore_index預設為False
# s3 = pd.concat([s1, s2], ignore_index=False) # 與上列相同
print(s3)
印出資料如下。
可以看出index數值都各別維持原來的0與1。
0 a
1 b
0 c
1 d
dtype: object
那我們來看到當指定ignore_index=True時,
使用方式如下,
語法pd.concat([資料1, 資料2], ignore_index=True)
,
s4 = pd.concat([s1, s2], ignore_index=True)
print(s4)
印出資料如下。
可以看出index數值已經重新排序從0到3。
0 a
1 b
2 c
3 d
dtype: object
今天簡單的講解了concat的使用方式,
範例中都只用兩個Series
結構的資料,
若要更多的資料合併當然也是沒問題的,
同樣在資料間用,
隔開即可。
另外要特別注意的就是index數值的部分,
因為可能會影響到後續的操作,
index都應該謹慎處理才是。