在 Python 中使用 Pandas DataFrame 對每一行應用函式
在本教程中,我們將學習 **列表** 最常用的方法,即 **append()** 和 **extend()**。讓我們逐一瞭解它們。
apply()
它用於將函式應用於 DataFrame 的每一行。例如,如果我們想將每一行的所有數字相乘並將其作為新列新增,那麼 apply() 方法非常有用。讓我們看看實現它的不同方法。
示例
# importing the pandas package import pandas as pd # function to multiply def multiply(x, y): return x * y # creating a dictionary for DataFrame data = { 'Maths': [10, 34, 53], 'Programming': [23, 12, 43] } # creating DataFrame using the data data_frame = pd.DataFrame(data) # displaying DataFrame print('--------------------Before------------------') print(data_frame) print() # applying the function multiply data_frame['Multiply'] = data_frame.apply(lambda row : multiply(row['Maths'], row[' Programming']), axis = 1) # displaying DataFrame print('--------------------After------------------') print(data_frame)
輸出
如果執行上述程式,您將獲得以下結果。
--------------------Before------------------ Maths Programming 0 10 23 1 34 12 2 53 43 --------------------After------------------ Maths Programming Multiply 0 10 23 230 1 34 12 408 2 53 43 2279
示例
我們還可以使用預定義函式,如 **sum,pow** 等。
# importing the pandas package import pandas as pd # creating a dictionary for DataFrame data = { 'Maths': [10, 34, 53], 'Programming': [23, 12, 43] } # creating DataFrame using the data data_frame = pd.DataFrame(data) # displaying DataFrame print('--------------------Before------------------') print(data_frame) print() # applying the function multiply # using built-in sum function data_frame['Multiply'] = data_frame.apply(sum, axis = 1) # displaying DataFrame print('--------------------After------------------') print(data_frame)
輸出
如果執行上述程式,您將獲得以下結果。
--------------------Before------------------ Maths Programming 0 10 23 1 34 12 2 53 43 --------------------After------------------ Maths Programming Multiply 0 10 23 33 1 34 12 46 2 53 43 96
示例
我們還可以使用 numpy 模組中的函式。讓我們看一個例子。
# importing the pandas package import pandas as pd # importing numpy module for functions import numpy as np # creating a dictionary for DataFrame data = { 'Maths': [10, 34, 53], 'Programming': [23, 12, 43] } # creating DataFrame using the data data_frame = pd.DataFrame(data) # displaying DataFrame print('--------------------Before------------------') print(data_frame) print() # applying the function multiply # using sum function from the numpy module data_frame['Multiply'] = data_frame.apply(np.sum, axis = 1) # displaying DataFrame print('--------------------After------------------') print(data_frame)
輸出
如果執行上述程式,您將獲得以下結果。
--------------------Before------------------ Maths Programming 0 10 23 1 34 12 2 53 43 --------------------After------------------ Maths Programming Multiply 0 10 23 33 1 34 12 46 2 53 43 96
結論
透過以上方法,我們可以使用 DataFrame 的 **apply()** 方法對所有行應用函式。如果您對本教程有任何疑問,請在評論區提出。
廣告