我有一個數據幀有兩列A
和B
和一個用戶定義的函數,根據A
中的值執行兩個計算並返回一個元組,其中包含兩個項目output1
和output2
。使用df.apply()方法將單個元組項分配給多個數據框列?
df = pd.DataFrame({'A':[1,2,3,4,5],'B':[5,4,3,2,1]})
def myfunc(row):
selected_row = row['A']
output1 = selected_row + 10
output2 = selected_row + 20
return (output1, output2)
我希望做的是分配的output1
和output2
值以兩個獨立的數據框列,C
和D
。我至今能夠分配整個返回的元組(有兩個項目),以一個勁兒地列如:
df['C'] = df.apply(myfunc,axis=1)
我希望能夠爲兩個不同的列做到這一點,與output1
去列C
和output2
前往列D
;我在可視化是這樣的:
df['C'], df['D'] = df.apply(myfunc,axis=1)
任何幫助或建議,我們非常感激。
你可能會超過用'也只是循環iterrows' ... –