Python 使用apply向现有dataframe添加2个新列
我想使用apply函数: -将2列作为输入-基于函数输出两个新列 这个加法乘法函数就是一个例子Python 使用apply向现有dataframe添加2个新列,python,pandas,dataframe,apply,Python,Pandas,Dataframe,Apply,我想使用apply函数: -将2列作为输入-基于函数输出两个新列 这个加法乘法函数就是一个例子 #具有两列输入和两个输出的功能 def加法乘法(a,b): 返回(a+b,a*b) #示例数据帧 df=pd.DataFrame({'col1':[1,2],'col2':[3,4]}) #这不管用 df[['add','multiply']]=df.apply(λx:add_multiply(x['col1'],x['col2']),轴=1) 理想结果: col1 col2加法乘法 1 3
#具有两列输入和两个输出的功能
def加法乘法(a,b):
返回(a+b,a*b)
#示例数据帧
df=pd.DataFrame({'col1':[1,2],'col2':[3,4]})
#这不管用
df[['add','multiply']]=df.apply(λx:add_multiply(x['col1'],x['col2']),轴=1)
理想结果:
col1 col2加法乘法
1 3 4 3
2 4 6 8
您可以在应用中添加结果\u type='expand'
:
“展开”:类似列表的结果将转换为列
或调用数据帧构造函数:
df[['add', 'multiply']]=pd.DataFrame(df.apply(lambda x: add_multiply(x['col1'],
x['col2']), axis=1).tolist())
anky_91的回答突出了apply
中的一个有用选项
然而,对于这种特殊情况,apply
甚至不是必需的
df['add'], df['multiply'] = add_multiply(df['col1'],df['col2'])
col1 col2 add multiply
0 1 3 4 3
1 2 4 6 8
df['add'], df['multiply'] = add_multiply(df['col1'],df['col2'])