iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 25
0
AI & Data

30天 python 學習心得分享系列 第 25

Day25- 資料處理模組-Pandas-Series 運算

  • 分享至 

  • xImage
  •  

Pandas也提供許多方便的運算函數,就讓我們來學習Series的運算方式吧

以下程式碼皆以引入Pandas模組

import pandas as pd

加減乘除取餘數

python內建的運算子都可以直接在Series上使用

data = range(1,7)
s = pd.Series(data)
print(s)

#輸出:
0    1
1    2
2    3
3    4
4    5
5    6
dtype: int64

#會將所有值進行加法運算
print(s+1)

#輸出:
0    2
1    3
2    4
3    5
4    6
5    7

常用運算函數

data = range(1,7)
s = pd.Series(data)
#最大值
print(s.max())
#輸出:6

#最小值
print(s.min())
#輸出:1

#平均值
print(s.mean())
#輸出:3.5

#標準差
print(s.std())
#輸出:1.8708286933869707

#加總
print(s.sum())
#輸出:21

累加運算

data = range(1,7)
s = pd.Series(data)
#每一筆資料為前面所有資料總合
print(s.cumsum())
#輸出:
0     1
1     3
2     6
3    10
4    15
5    21
dtype: int64

#累乘
print(s.cumprod())
#輸出:
0      1
1      2
2      6
3     24
4    120
5    720
dtype: int64

窗格運算

Pandas提供了窗格運算的函數rolling可以搭配前面的運算函數使用,如下範例:

data = range(1,7)
s = pd.Series(data)

print(s.rolling(2).sum())

#輸出:
0     NaN
1     3.0
2     5.0
3     7.0
4     9.0
5    11.0
dtype: float64

上例程式設定移動窗格為二做總和運算,每一比資料會往前一格加總,第一格因為前面沒資料所以會呈現NaN,rolling可以搭配各種運算函數使用

布林值判斷

Series能設定比較各欄位值進行比較獲取布林值,如下:

data = range(1,7)
s = pd.Series(data)

print(s > 3)

#輸出:
0    False
1    False
2    False
3     True
4     True
5     True
dtype: bool

Series的常用運算方式就學習到這吧,其餘就是多練習使用就會熟悉了.

文章內容如果有錯誤歡迎留言告知,可以幫忙糾正錯誤的觀念,感謝!


上一篇
Day24- 資料處理模組-Pandas-Series 基礎
下一篇
Day26- 資料處理模組-Pandas-DataFrame
系列文
30天 python 學習心得分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言