每次填充时如何获得数组的平均值?

时间:2017-05-29 22:47:04

标签: python arrays list statistics

我试图在两个不同的列中写入文件.txt,一个用于日期/时间,另一个用于在无限循环中连续变化的100个数据值的平均值,初始代码有效,在我试图计算平均值之前,这是我的代码

import serial
import time
import datetime as dt
ser = serial.Serial('COM23', 19200)

with open("data101.txt", "w+") as f:
    for i in range(100):  
       serial_line = ser.readline()
       fl = float(serial_line)
       print(fl)
       f.write("{} {} {}\n".format(i+1, dt.datetime.now(), fl))
       time.sleep(0.000033)

ser.close()

但是,当我添加数组/列表并尝试获取每个100值的平均值时,它将无法正常工作,这是我的代码

import numpy       # i added numpy library  
import serial
import time
import datetime as dt
ser = serial.Serial('COM23', 19200)

with open("data102.txt", "w+") as f:
    for i in range(100):  
       serial_line = ser.readline()
       fl = float(serial_line)
       f = []                        # i added this to create an empty array 
           for i in range(100):
              f.append(fl)
              print(numpy.mean(f))          # i added this
              array = numpy.mean(f)         # i added this
              print(fl)
              f.write("{} {} {}\n".format(i+1, dt.datetime.now(), array))
              time.sleep(0.000033)

ser.close()

我想在列中获取日期/时间,每次填充数组时,我都会计算均值并将其写入seconde列的文件中。

鉴于数据量巨大,我应该使用sql库吗?或任何合适的功能?

0 个答案:

没有答案