iT邦幫忙

2021 iThome 鐵人賽

DAY 9
1
AI & Data

30Day 從一介凡人羽化成資料科學初學者系列 第 9

Day9 - pandas(4)Series與DataFrame的運算

  • 分享至 

  • xImage
  •  

Series間的運算:

Series在互相做數學運算時
會根據對應index的位置來做互動
如沒有對應的index此位置會被保留並且填上空值
我先建立test_1、test_2範例資料方便我們觀察
https://ithelp.ithome.com.tw/upload/images/20210826/20140416Zsq3nlEPkq.png
互相作加減運算
https://ithelp.ithome.com.tw/upload/images/20210826/20140416h6OcvEztDd.png
可看出輸出結果index[a,c,e]這三個位置有輸出結果而不是空值
因為test_1、test_2同時擁有這三個index,所以它們之間會做運算
而其他不同的index位置被保留但輸出數值是空值

DataFrame間的運算:

DataFrame間的運算會根據欄位名稱及index同時相同的值之間做運算
不同於Series也就只是多出了欄位需要對照
如果沒有同時具有相同的欄位名稱及index
位置會被保留並填上空值
https://ithelp.ithome.com.tw/upload/images/20210826/20140416bw3KTOxIK6.png
兩DataFrame做相加與相乘
https://ithelp.ithome.com.tw/upload/images/20210826/20140416NxCfKHSJY4.png
可看出同時相同的欄位為one、two,而index同時擁有的只有a
所以輸出結果除了這兩個位置其他都被填上空值了

DataFrame與Series的運算:

此兩者間的運算就像是之前numpy介紹過的廣播
DataFrame為二維資料、Series為一維資料
Series會分別對DataFrame的index,也就是分別對每個raw做運算
而Series的index會對照到DataFrame的欄位名稱來做運算
test_1我只有指派index,欄位名稱為預設,test_2的index也是預設
https://ithelp.ithome.com.tw/upload/images/20210826/20140416YVR1wGuiqI.png
兩者做運算時
https://ithelp.ithome.com.tw/upload/images/20210826/20140416gQlB0nFk10.png

送上colab連結,可自行在上面多做點練習更加熟悉pandas
https://colab.research.google.com/drive/12G8v4IEwpD50wQ4zm-WMQ4u-VUKTIFtE?usp=sharing


上一篇
Day8 - pandas(3)DataFrame索引與loc、iloc
下一篇
Day10- pandas(5)DataFrame匯總統計值min、max、mean等
系列文
30Day 從一介凡人羽化成資料科學初學者30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言