python將txt文件隔指定行相加的問(wèn)題
問(wèn)題描述
1,數(shù)據(jù)格式很簡(jiǎn)單,有四周也就是28天的數(shù)據(jù),每天有144個(gè)數(shù)據(jù),共有4032個(gè),如下:
11.02836638168102711.12710087567367510.8927706027910978.62242459098974888.00992746244575638.11841955408968.02626974851215138.5141785771838925······
用Sij表示一星期當(dāng)中第j天第i個(gè)觀測(cè)值,其中j=1,2,3,4,5,6,7;i=1,2,3,…,144;



現(xiàn)在想求出4032個(gè)Yij的值我寫了一個(gè)有些復(fù)雜的,但是感覺不太對(duì),請(qǐng)大神們幫忙看看,感謝
from __future__ import pisionimport matplotlib.pyplot as pltwith open(’training_data.txt’)as reader,open(’weken4-4.txt’,’w’)as writer:sum1=[0 for x1 in range(0,144)]sum2=[0 for x2 in range(0,144)]sum3=[0 for x3 in range(0,144)]sum4=[0 for x4 in range(0,144)]data=[0 for y1 in range(0,4032)]for index,line in enumerate(reader): for i in range(0,144):if index<1008: if (index-i)%144==0:sum1[i]=sum1[i]+float(line)if 1008<=index<2016: if (index-i)%144==0:sum2[i]=sum2[i]+float(line)if 2016<=index<3024: if (index-i)%144==0: sum3[i]=sum3[i]+float(line)elif 3024<=index<4032: if (index-i)%144==0:sum4[i]=sum4[i]+float(line)file = open(’training_data.txt’,’r’)for j in range(0,4032):line = file.readline()a= line.split()if j<1008:data[j]=(float(a[0])-(sum1[j%144]/7))/(sum1[j%144]/7)if 1008<=j<2016:data[j]=(float(a[0])-(sum2[j%144]/7))/(sum2[j%144]/7)if 2016<=j<3024:data[j]=(float(a[0])-(sum3[j%144]/7))/(sum3[j%144]/7)elif 3024<=j<4032:data[j]=(float(a[0])-(sum4[j%144]/7))/(sum4[j%144]/7)
問(wèn)題解答
回答1:是求每周的每一點(diǎn)的平均偏離比例吧!關(guān)健是定義好數(shù)據(jù)結(jié)構(gòu),其他的都好辦!
from __future__ import pision# 4*7*144維度的列表data = [[[0]*144 for i in range(7)]for _ in range(4)]# 4*144維度的列表data_sum = [[0]*144 for i in range(4)]data_avg = [[0]*144 for i in range(4)]# 結(jié)果with open(’training_data.txt’)as reader,open(’weken4-4.txt’,’w’)as writer: # 初始化數(shù)據(jù) for i in range(4):for j in range(7): for k in range(144):v = float(reader.readline())data[i][j][k] = vdata_sum[i][k] += v # 求平均 for i in range(4):for j in range(144): data_avg[i][j] = data_sum[i][j] / 144 # 求結(jié)果 for i in range(4):for j in range(7): for k in range(144):v = (data[i][j][k] - data_sum[i][k]) / data_avg[i][k]writer.write(’{}n’.format(v))
相關(guān)文章:
1. spring-mvc - spring-session-redis HttpSessionListener失效2. html5和Flash對(duì)抗是什么情況?3. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異?!钡膬?nèi)存錯(cuò)誤?4. javascript - QQ第三方登錄的問(wèn)題5. node.js - mongodb查找子對(duì)象的名稱為某個(gè)值的對(duì)象的方法6. 測(cè)試自動(dòng)化html元素選擇器元素ID或DataAttribute [關(guān)閉]7. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境8. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!9. javascript - 在 model里定義的 引用表模型時(shí),model為undefined。10. 淺談Vue使用Cascader級(jí)聯(lián)選擇器數(shù)據(jù)回顯中的坑

網(wǎng)公網(wǎng)安備