將功能應用於系列
Pandas 提供了一種將函式應用於 Series 的每個元素並獲得新系列的有效方法。我們假設我們有以下系列:
>>> import pandas as pd
>>> s = pd.Series([3, 7, 5, 8, 9, 1, 0, 4])
>>> s
0 3
1 7
2 5
3 8
4 9
5 1
6 0
7 4
dtype: int64
和方函式:
>>> def square(x):
... return x*x
我們可以簡單地將 square 應用於 s 的每個元素並獲得一個新系列:
>>> t = s.apply(square)
>>> t
0 9
1 49
2 25
3 64
4 81
5 1
6 0
7 16
dtype: int64
在某些情況下,使用 lambda 表示式更容易:
>>> s.apply(lambda x: x ** 2)
0 9
1 49
2 25
3 64
4 81
5 1
6 0
7 16
dtype: int64
或者我們可以使用任何內建函式:
>>> q = pd.Series(['Bob', 'Jack', 'Rose'])
>>> q.apply(str.lower)
0 bob
1 jack
2 rose
dtype: object
如果 Series 的所有元素都是字串,則有一種更簡單的方法來應用字串方法:
>>> q.str.lower()
0 bob
1 jack
2 rose
dtype: object
>>> q.str.len()
0 3
1 4
2 4