iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
佛心分享-IT 人自學之術

走在Pandas資料操縱與分析的路上持續前進系列 第 20

DAY20 Pandas使用concat合併part1 (Series結構資料)

  • 分享至 

  • xImage
  •  

在介紹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'])
使用ignore_index=False

接著使用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

那我們來看到當指定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都應該謹慎處理才是。


上一篇
DAY19 Pandas使用insert增加欄位
下一篇
DAY21 Pandas使用concat合併part2 (DataFrame結構資料)
系列文
走在Pandas資料操縱與分析的路上持續前進30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言