溫馨提示×

pandas apply函數(shù)的用法是什么

小億
107
2023-12-28 20:27:25
欄目: 編程語言

pandas中的apply函數(shù)用于對DataFrame或Series中的數(shù)據(jù)進(jìn)行逐行或逐列的操作。它可以接受一個(gè)函數(shù)作為參數(shù),并將該函數(shù)應(yīng)用于每一行或每一列的數(shù)據(jù)。

apply函數(shù)的用法有兩種常見的方式:

  1. 對DataFrame的每一行或每一列應(yīng)用函數(shù):可以通過指定axis參數(shù)來選擇是對行還是列進(jìn)行操作。默認(rèn)情況下,axis為0表示對每一列應(yīng)用函數(shù),axis為1表示對每一行應(yīng)用函數(shù)。 例如,對DataFrame的每一列進(jìn)行求和操作:

    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
    
  2. 對DataFrame的每個(gè)元素或Series的每個(gè)元素應(yīng)用函數(shù):可以通過指定axis參數(shù)為None來實(shí)現(xiàn)對每個(gè)元素的操作。 例如,對DataFrame的每個(gè)元素進(jìn)行平方操作:

    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函數(shù)會對每一行或每一列的數(shù)據(jù)進(jìn)行迭代,因此在使用apply函數(shù)時(shí),應(yīng)盡量避免使用循環(huán)等耗時(shí)操作,以提高性能。

0