2
我正在编写代码来分析树莓派上的加速度计数据。传感器数据输出到单个txt文件,并以\ t分隔列。我使用numpy.loadtxt导入了文本文件并将其解压到单独的数组中。我可以在阵列上执行诸如trapz和cumtrapz之类的操作。我需要找到一个numpy数组中的值的位置,并使用它来指向另一个numpy数组的相同位置的值
该数据将与另一个将输出事件特定时间的传感器结合使用。我想花时间,从我的传感器中找到最接近的记录时间,并将其与其他阵列的值相对应。
我尝试使用numpy.where与我知道的是在列表中,并得到的输出的特定时间值“(阵列([],D型细胞= INT32),)”
下面是代码我跑了。我确信我至少有一件事被滥用。我仍然在Python非常初学者和一般的编码...
import logging
import sys
import numpy as np
from scipy import integrate
x,y,z,t=np.loadtxt('a.txt', dtype={'names':['x','y','z','t'],
'formats':['f4','f4','f4','f4']},unpack='true')
p = integrate.trapz(integrate.cumtrapz(x, t, initial=0), t)
ti = np.where(x==1.5670002)
print ti
print p
从输出全是
(array([], dtype=int32),)
0.0114166
所以我从t中的值搜索X。它现在正在输出 (array([101]),)
如何从另一个数组中打印相应的数字?
很好!你介意看看你的“x,y,z,t”是在阅读之后吗?不需要成为整个文件,仅仅前几个条目(和它们的形状)就足够了。 – MSeifert
当我告诉它打印t的前几个值是[0.2712 0.28029999 0.28920001 0.29800001 0.30680001 0.3163 0.32530001 0.3344 0.3441 0.35280001 0.36129999 0.37079999 – Richard
只要打印x [ti [0]]打印相应的x值if ti输出为(array([101]),) – Richard