我有一个带有y值的时间序列数据(大约6000个样本数据),在csv文件中,在13分钟内没有该函数。 例如: 2016-02-13 00:00:00; 0353 2015-02-13 00:00:13; 0362 ....
我希望在9和14 o&时钟范围内进行整合。 我如何从csv读取值到np.array(数据)?
Simpson方法将整个曲线整合到y下。 我在文档中读过。关于我的方法是:
from scipy.integrate import simps
import numpy as np
y = np.array(data)
I = integrate.simps(y,dx=12)
print(I)
我如何整合范围时间(上午9点至下午2点 - 09:00:00-14:00:00)?
答案 0 :(得分:1)
我很难用includeLocation="true"
处理数据中的额外分号,所以这里是一个手写的数据导入。
np.loadtxt
输出:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as p
from matplotlib.dates import strpdate2num, num2date
fn="example_data.txt"
#2016-02-13 00:00:00 ; 0,353
#2015-02-13 00:00:13 ; 0,362
def dateread(x):
return num2date(strpdate2num('%Y-%m-%d %H:%M:%S')(x))
tims, vals=[],[]
f=open(fn,'r')
for line in f.readlines():
#print line
a=line.split()
#print a
time=dateread(a[0]+' '+a[1])
value= float(a[3].replace(",","."))
tims.append(time)
vals.append(value)
print vals
print tims
p.plot(tims,vals)
时间现在是正确的日期时间对象,因此可以进行比较。要选择您想要查看的时间:Python time comparison