python pandas函数返回多个值并将它们放入

时间:2018-04-24 20:41:45

标签: python pandas function return-value

我有两个功能如下。第二个工作,但第一个不起作用。为什么呢?

import pandas as pd

df = pd.DataFrame(data = {'a': [1, 2, 3], 'b': [4, 5, 6]})

def add_subtract_list(a, b):
  return [1,2,3,4]
add_subtract_list(5,8)

df[['c','d','x','y']] = df.apply(
    lambda row: add_subtract_list(row['a'], row['b']), axis=1)

以下功能有效。它来自this页面

import pandas as pd

df = pd.DataFrame(data = {'a': [1, 2, 3], 'b': [4, 5, 6]})



def add_subtract_list(a, b):
  return [a + b, a - b]

df[['sum', 'difference']] = df.apply(
    lambda row: add_subtract_list(row['a'], row['b']), axis=1)

1 个答案:

答案 0 :(得分:2)

更新你的函数,使它返回一个pandas Series而不是python列表。

def add_subtract_list(a, b):
  return pd.Series([1,2,3,4])