python將txt文件隔指定行相加的問題
問題描述
1,數據格式很簡單,有四周也就是28天的數據,每天有144個數據,共有4032個,如下:
11.02836638168102711.12710087567367510.8927706027910978.62242459098974888.00992746244575638.11841955408968.02626974851215138.5141785771838925······
用Sij表示一星期當中第j天第i個觀測值,其中j=1,2,3,4,5,6,7;i=1,2,3,…,144;
現在想求出4032個Yij的值我寫了一個有些復雜的,但是感覺不太對,請大神們幫忙看看,感謝
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)
問題解答
回答1:是求每周的每一點的平均偏離比例吧!關健是定義好數據結構,其他的都好辦!
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)]# 結果with open(’training_data.txt’)as reader,open(’weken4-4.txt’,’w’)as writer: # 初始化數據 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 # 求結果 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))
相關文章:
1. 使用text-shadow可以給圖片加陰影嗎?2. angular.js - angularjs如何傳遞id給另一個視圖 根據id獲取json數據?3. 數據庫無法進入4. java - StringBuffer轉成String,可以不同過tostring,而是通過+“”的方式轉換嗎?5. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?6. java - HashSet<int> 為何有錯誤?7. mysql - 記得以前在哪里看過一個估算時間的網站8. 請問一下各位老鳥 我一直在學習獨孤九賤 現在是在tp5 今天發現 這個系列視頻沒有實戰9. python - linux怎么在每天的凌晨2點執行一次這個log.py文件10. select - mysql怎么搜索一個字符串指定位置之后兩位
