簡體   English   中英

如何將數據幀的兩列傳遞給python中的函數?

[英]How to pass two columns of a dataframe to a function in python?

我正在嘗試下面的代碼。 但是我返回了錯誤

(“ Newmethod()缺少1個必需的位置參數:'B'”,“在索引0處發生”)

def Newmethod(A,B):
  Add=A+B
  return Add

Df=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=["A","B","C"])
Df['D']=Df[['A','B']].apply(Newmethod, axis=1)

我在這里想念什么? 請幫我。

更改

Df['D']=Df[['A','B']].apply(lambda x:Newmethod(x.A,x.B), axis=1)

   A  B  C   D
0  1  2  3   3
1  4  5  6   9
2  7  8  9  15

說明

您可以使用np.sum或更改您的Newmethod() 否則,您只能在表單中執行此操作。

import numpy as np
Df['D']=Df[['A','B']].apply(np.sum, axis=1)
# or
def Newmethod(x):
    Add= x.A + x.B
    return Add
Df['D']=Df[['A','B']].apply(Newmethod, axis=1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM