Python简单实现计算当前单元格的前几行之和

来源:互联网 发布:电脑磁盘数据恢复 编辑:程序博客网 时间:2024/06/04 20:06
想去实现计算当前单元格当前位置前一列的前几行之和,cvalue列为要计算的数据,new为目标列、新生成
数据格式如下:
cvaluenew555102030535540545550555以目前水平能想到的只能是按需求直接计算,原理同斐波那契数列大笑
#-*-coding:utf-8-*-import pandas as pddata=pd.read_excel(path)data['new']=0c=data['cvalue']n=data['new']n[0],n[1]=c[0],n[0]+c[1]
a=1while a<len(n):    n[a] = n[a - 1] + c[a]
    a += 1
不过实际数据量37万行,上面的程序连结果都输出不了尴尬
于是函数里加了个yield关键字
while a < len(n):    yield n[a - 1]    n[a] = n[a - 1] + c[a]    a += 1
代码执行用了3微秒,不过返回了生成器,用了list和for遍历,居然用了一个小时可怜,效率都很低,看到的朋友有什么好的办法指点下不疑问

原创粉丝点击