首頁 > 後端開發 > Python教學 > 如何將函數逐元素套用到多個 Pandas DataFrame 欄位?

如何將函數逐元素套用到多個 Pandas DataFrame 欄位?

Barbara Streisand
發布: 2024-12-04 01:15:10
原創
329 人瀏覽過

How Can I Apply a Function Element-Wise to Multiple Pandas DataFrame Columns?

Pandas:將函數應用於多列

問題:

給定一個函數和一個具有多列的函數Pandas DataFrame,我們如何將函數逐元素套用到陣列中的每對對應值欄位?

解決方案:

有一種有效的方法可以使用Pandas 的lambda 函數和apply 方法來實現此目的:

def get_sublist(sta, end):
    return mylist[sta:end+1]

df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
登入後複製

這適用get_sublist 函式加入到DataFrame的每一行,使用“col_1”和“col_2”列中的值作為輸入。結果是一個新列“col_3”,其中包含計算的子列表。

用法:

考慮以下範例:

df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]})
mylist = ['a','b','c','d','e','f']

# Apply the function and create a new column
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)

print(df)
登入後複製

輸出:

  ID  col_1  col_2            col_3
0  1      0      1       ['a', 'b']
1  2      2      4  ['c', 'd', 'e']
2  3      3      5  ['d', 'e', 'f']
登入後複製
輸出:輸出:輸出:輸出:輸出:

以上是如何將函數逐元素套用到多個 Pandas DataFrame 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板