pandas中的apply函數用于對DataFrame或Series中的數據進行逐行或逐列的操作。它可以接受一個函數作為參數,并將該函數應用于每一行或每一列的數據。
apply函數的用法有兩種常見的方式:
對DataFrame的每一行或每一列應用函數:可以通過指定axis參數來選擇是對行還是列進行操作。默認情況下,axis為0表示對每一列應用函數,axis為1表示對每一行應用函數。 例如,對DataFrame的每一列進行求和操作:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
def sum_column(column):
return column.sum()
result = df.apply(sum_column)
print(result)
輸出:
A 6
B 15
dtype: int64
對DataFrame的每個元素或Series的每個元素應用函數:可以通過指定axis參數為None來實現對每個元素的操作。 例如,對DataFrame的每個元素進行平方操作:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
def square(x):
return x**2
result = df.applymap(square)
print(result)
輸出:
A B
0 1 16
1 4 25
2 9 36
需要注意的是,apply函數會對每一行或每一列的數據進行迭代,因此在使用apply函數時,應盡量避免使用循環等耗時操作,以提高性能。