Python菜鸟求助一个很简单的问题!~~
- clive描述的清楚,那么难在哪儿?
- 729088672Excel 用pandas吧
搜一下用法,很简单的 - wsyx87930弄个数组把这些数装起来,然后用公式给第四列赋值,不就出来了?
- debauchee循环所有行
做一个长度为3的队列
然后每次循环把新行扔进去
当队列满了,就取出来算
队列1为t-2月的列表
队列2为t-1月的列表
队列为t月的列表
然后开始算就好了 - lance6716pandas里面shift [1] 是做“平移N行”,可以对A列应用,得到1行和2行的中间结果
然后可以用pandas.where [2] 或者 numpy.where [3]做这个分支判断,得到D
我笔记本上没环境,没法跑跑看
[1]https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.shift.html
[2]https://pandas.pydata.org/pandas ... ataFrame.where.html
[3]https://docs.scipy.org/doc/numpy ... re.html#numpy.where - wuyanzhicheng同是python菜鸟,可以试试xlrd和xlwt。用之前的代码改了一段,仅循环部分 前面读取的没写。
读取原始数据表后,使用for循环
for i in range(3,nrows): #nrows 是表格总行数
data = 0
if sh.cell_value(i-1,1) > sh.cell_value(i-2,1): #单元格(i-1,1)大于单元格(i-2,1)
data = sh.cell_value(i,3) #data = 单元格(i,3) 即i行C列
else:
data = sh.cell_value(i,2) #否则 da'ta = 单元格(i,2)即 i行B列
table.write(i-1,0,sh.cell_value(i,0))
table.write(i-1,1,sh.cell_value(i,1))
table.write(i-1,2,sh.cell_value(i,2))
table.write(i-1,3,sh.cell_value(i,3)) #以上几行分别把原数据表的i行的0到3列写入到新表中
table.write(i-1,4,data) #将判断得到的data写入新表的i行4列
file.save('output.xls') #保存新表 - keshouz楼主直接看这楼就行了,:+1: iOS fly ~
- zpwinever行间比较用pandas的shift