高手帮我解释下我写的代码逻辑错误在哪里
pandas题目:根据以下数据,需要增加一列 c,c 列的计算逻辑是:
第一行的值为所在行的 a + b,第二行及以后的值为 上一行的 c + a
我理解写的代码如下:
df = pd.DataFrame({‘a’: [5, 6, 7], ‘b’: [3, 5, 8]})
print(df)
def func(i):
if len(i)==1:
return i.a+i.b
else:
return i.a.sum()+i.b[0]
print(df.expanding().apply(func))
出错提示:AttributeError: ‘Series’ object has no attribute ‘a’
可能对函数生成的数据类型理解不深,高手帮我解释下