python pandas函数返回多个值并将其放入列中 [英] python pandas function return multiple values and put them into columns

查看:391
本文介绍了python pandas函数返回多个值并将其放入列中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下两个功能.第二个有效,但第一个无效.为什么?

i have two functions as below. The second one works but the first one doesn't work. Why?

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)

以下功能起作用.它来自页面

below function works. It is from this page

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)

推荐答案

更新您的函数,使其返回熊猫系列而不是python列表.

Update your function such that it returns a pandas Series instead of a python list.

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

这篇关于python pandas函数返回多个值并将其放入列中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆