masalah python menambah fail txt pada baris tertentu
高洛峰
高洛峰 2017-05-18 10:58:40
0
1
640

1. Format data sangat mudah Ada empat minggu atau 28 hari data ada 144 data setiap hari dan jumlahnya 4032, seperti berikut:

11.028366381681027
11.127100875673675
10.892770602791097
8.6224245909897488
8.0099274624457563
8.1184195540896
8.0262697485121513
8.5141785771838925
······

Gunakan Sij untuk mewakili nilai pemerhatian ke-i pada hari ke-j dalam seminggu, dengan j=1,2,3,4,5,6,7;

Sekarang saya ingin mencari nilai 4032 Yij

Saya menulis yang agak rumit, tetapi rasanya tidak sesuai, terima kasih

from __future__ import pision
import matplotlib.pyplot as plt
with 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)
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(1)
左手右手慢动作

Mari cari nisbah sisihan purata bagi setiap titik setiap minggu Perkara utama ialah menentukan struktur data, dan segala-galanya akan mudah dikendalikan!

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] = v
                data_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))
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!