Python 如何将从def函数返回值获得的值附加到DataFrame?
如何将从def函数返回值获得的值附加到DataFrame?我想从def函数返回一个列表,它为每个循环提供标量,但程序显示了这一点 TypeError:“int”对象不可下标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):
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