gpt4 book ai didi

python - 使用 apply 向现有数据框添加 2 个新列

转载 作者:太空狗 更新时间:2023-10-29 17:44:33 24 4
gpt4 key购买 nike

我想使用 apply 函数:- 将 2 列作为输入 - 基于函数输出两个新列。

一个例子是这个 add_multiply 函数。

#function with 2 column inputs and 2 outputs
def add_multiply (a,b):
return (a+b, a*b )

#example dataframe
df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})

#this doesn't work
df[['add', 'multiply']] = df.apply(lambda x: add_multiply(x['col1'], x['col2']), axis=1)

理想的结果:

col1  col2  add  multiply
1 3 4 3
2 4 6 8

最佳答案

可以在apply中添加result_type='expand':

‘expand’ : list-like results will be turned into columns.

df[['add', 'multiply']]=df.apply(lambda x: add_multiply(x['col1'], x['col2']),axis=1,
result_type='expand')

或者调用数据框构造函数:

df[['add', 'multiply']]=pd.DataFrame(df.apply(lambda x: add_multiply(x['col1'], 
x['col2']), axis=1).tolist())

   col1  col2  add  multiply
0 1 3 4 3
1 2 4 6 8

关于python - 使用 apply 向现有数据框添加 2 个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57646384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com