我有一个数据帧有两列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' ... –