Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将从def函数返回值获得的值附加到DataFrame?_Python - Fatal编程技术网

Python 如何将从def函数返回值获得的值附加到DataFrame?

Python 如何将从def函数返回值获得的值附加到DataFrame?,python,Python,如何将从def函数返回值获得的值附加到DataFrame?我想从def函数返回一个列表,它为每个循环提供标量,但程序显示了这一点 TypeError:“int”对象不可下标 第一个错误是para方法返回一个int,如果您试图访问其中的某个内容,则无法执行4[0],这是不可能的 然后使用生成值的[0,1]范围(2),因此缺少数组的最后一个值,请使用范围(3)或直接使用数组的长度 改进方法是,使用zip在两个数组上同时对值进行迭代 for x_val, y_val in zip(x, y):

如何将从def函数返回值获得的值附加到DataFrame?我想从def函数返回一个列表,它为每个循环提供标量,但程序显示了这一点

TypeError:“int”对象不可下标

  • 第一个错误是
    para
    方法返回一个
    int
    ,如果您试图访问其中的某个内容,则无法执行
    4[0]
    ,这是不可能的

  • 然后使用生成值的
    [0,1]
    范围(2),因此缺少数组的最后一个值,请使用
    范围(3)
    或直接使用数组的长度


  • 改进方法是,使用
    zip
    在两个数组上同时对值进行迭代

    for x_val, y_val in zip(x, y):
        list_z.append(para(x_val, y_val))
    

    如果您实际上是指一个数据帧,而不是手动构建列表列表,那么只需声明它:

    df = pd.DataFrame({'x': x, 'y': y})
    
    >>> df
       x  y
    0  1  4
    1  2  5
    2  3  6
    
    为+、-、/、*等操作提供内置方法,因此您只需执行以下操作:

    df['z'] = df['x'] + df['y']
    
    无需您的功能
    段落

    >>> df
       x  y  z
    0  1  4  5
    1  2  5  7
    2  3  6  9
    

    请分享你的预期输出do
    list\u z.append(z)
    你会得到
    [5,7]``,
    para`方法返回一个INT,你不能做
    some\u INT[0]
    我的预期输出应该像一个列表[5,7,9]。a)如果你实际上是指一个数据帧而不是一个列表列表,那么只需
    df=pd.DataFrame({'x':x',y':y})
    和b)熊猫数据帧具有内置方法,因此您可以简单地执行
    df['z']=df['x']+df['y']
    而不需要您的函数
    para
    df['z'] = df['x'] + df['y']
    
    >>> df
       x  y  z
    0  1  4  5
    1  2  5  7
    2  3  6  9