Python機器學習小知識:pandas.apply

pandas.apply函數是Python在機器學習處理數據時常用的一個方法。apply函數會自動遍歷每一行DataFrame的數據,最後將所有結果組合成一個Series數據結構並返回。該函數定義如下:
DataFrame.apply(self, func, axis=0, broadcast=None, raw=False, reduce=None, result_type=None, args=(), **kwds)
其中,func 參數是函數名,相當於C/C++的函數指針。func函數需要自己實現,函數的傳入參數根據axis來定,比如axis = 1,就會把一行數據作爲Series的數據,結構傳入給func函數中,這樣會在定義的func函數中實現對Series不同屬性之間的計算,返回結果。
具體定義請參考:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html

以下爲一些例子:

df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])
df
A B
0 4 9
1 4 9
2 4 9

df.apply(np.sqrt)
A B
0 2.0 3.0
1 2.0 3.0
2 2.0 3.0

df.apply(np.sum, axis=0)
A 12
B 27
dtype: int64

df.apply(np.sum, axis=1)
0 13
1 13
2 13
dtype: int64

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章