如何在熊猫中设置两列的值

时间:2019-02-12 15:43:44

标签: python pandas

我有一个函数,该函数返回python中带有两个元素的元组。我将使用此函数在熊猫的数据框中创建两个新列。这是我现在拥有的代码

df['A','B'] = df.apply(lambda x: my_fun (X['A'], x['B'], other_arguments)[0:2], axis=1)

my_fun返回包含5个元素的元组,而我采用前两个元素来创建新列。 但是,它仅创建一列,并将该列的值设置为my_fun返回的元组。如何创建两列而不是一列?

2 个答案:

答案 0 :(得分:1)

尝试

df['A'], df['B'] = df.apply(lambda x: my_fun(x['A'], x['B'], other_arguments)[:2], axis=1)

如果my_fun返回一个包含5个元素的元组,而您只想保留前2个,则使用带有函数调用[:2]的切片

答案 1 :(得分:1)

df[['A','B']] = df.apply(lambda x: my_fun (X['A'], x['B'], other_arguments)[0:2], axis=1).apply(pd.Series)