Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
平均函数python,在图中进行平均和添加stdev_Python_Stdev - Fatal编程技术网

平均函数python,在图中进行平均和添加stdev

平均函数python,在图中进行平均和添加stdev,python,stdev,Python,Stdev,我在python中遇到了一个问题,希望您能帮助我解决它。 我有一个数据列表,如下所示: 01/31/2021 08:51:41.222 5777 40.26 01/31/2021 08:51:41.441 5802 40.26 01/31/2021 08:51:41.644 5786 40.26 01/31/2021 08:51:41.847 5793 40.29 01/31/2021 08:51:42.050 5776 40.29 01/31/2021 08:51:42.269 5798 40

我在python中遇到了一个问题,希望您能帮助我解决它。 我有一个数据列表,如下所示:

01/31/2021 08:51:41.222 5777 40.26
01/31/2021 08:51:41.441 5802 40.26
01/31/2021 08:51:41.644 5786 40.26
01/31/2021 08:51:41.847 5793 40.29
01/31/2021 08:51:42.050 5776 40.29
01/31/2021 08:51:42.269 5798 40.29
01/31/2021 08:51:42.456 5791 40.26
01/31/2021 08:51:42.660 5800 40.26
01/31/2021 08:51:42.878 5781 40.26
01/31/2021 08:51:43.081 5793 40.29
01/31/2021 08:51:43.300 5795 40.29
01/31/2021 08:51:43.519 5799 40.29
我的目标是在选定的时间范围内保存数据并绘制这些数据。 这就是我现在编写的代码:

import numpy as np
import matplotlib.pyplot as plt
import datetime as dt
import os

os.chdir('C:\\Users\\Nic\\Desktop')

filename = "20"  

with open(filename + ".txt") as file:
    lines = file.readlines()[10:]
    date = [line.split()[0] for line in lines]
    hours =[line.split()[1] for line in lines]
    rad = [float(line.split()[2]) for line in lines]

starthour = "0:00"
endhour = "00:51"

date_str = [a + " " + b for a, b in zip(date, hours)]

data_obj = [dt.datetime.strptime(d, "%m/%d/%Y %H:%M:%S.%f") for d in date_str]

date_start = dt.datetime.strptime(date[0] + " " + starthour, "%m/%d/%Y %H:%M")

date_end = dt.datetime.strptime(date[0] + " " + endhour, "%m/%d/%Y %H:%M")

rad = [r for r, d in zip(rad, data_obj) if (d>=date_start) & (d<=date_end)]

data_obj = [d for d in data_obj if (d>=date_start) & (d<=date_end)]

plt.plot(data_obj, rad, color = "turquoise", label = "dati", linewidth = "0.5")

plt.show()
plt.savefig(filename + ".png", dpi=300)
将numpy导入为np
将matplotlib.pyplot作为plt导入
将日期时间导入为dt
导入操作系统
chdir('C:\\Users\\Nic\\Desktop')
filename=“20”
打开(文件名+“.txt”)作为文件:
lines=file.readlines()[10:]
日期=[line.split()[0]表示行中的行]
小时数=[line.split()[1]用于行中的行]
rad=[float(line.split()
starthour=“0:00”
endhour=“00:51”
日期_str=[a+“”+b代表a,b在zip中(日期,小时)]
数据对象=[dt.datetime.strtime(d,“%m/%d/%Y%H:%m:%S.%f”)用于日期结构中的d]
date_start=dt.datetime.strtime(日期[0]+“”+starthour,“%m/%d/%Y%H:%m”)
date_end=dt.datetime.strtime(日期[0]+“”+endhour,“%m/%d/%Y%H:%m”)

rad=[r代表r,d在zip中(rad,数据对象),如果(d>=日期开始)和(d=日期开始)和(dI强烈建议您使用pandas执行此类任务。pandas.read_csv(带分隔符空间)应该是导入技巧的一部分。添加解析日期等参数可以极大地帮助您。pandas还有简单的命令来过滤您的DataFrame。我的主要问题是如何将我的50分钟文件划分为子间隔,我不知道如何创建循环。我想我可以自己找到一个方法来了解平均值和stdev。你对我必须创建的循环有什么建议吗?