首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Python的实时数据采集/处理

基于Python的实时数据采集/处理
EN

Stack Overflow用户
提问于 2017-06-01 19:55:48
回答 2查看 1.7K关注 0票数 1

我试图编写一个代码,它将从缓冲区(作为多维数组返回)获取信息,从所述数组中提取某些元素。

这就是我所拥有的

代码语言:javascript
复制
Drest = np.array([])              #Set up array for data to be read to (not sure if this is needed)
t_end = time.time() + 5            
while time.time() < t_end:
Drest = ftc.getData()             #fts is the buffer that I'm connecting to.
print("Drest: %s" %Drest)

这将返回如下所示的输出:

代码语言:javascript
复制
[[  6.79609478e-01   6.79609478e-01   6.79609478e-01   6.79609478e-01
6.79609478e-01   6.79609478e-01   6.79609478e-01   6.79609478e-01
6.79609478e-01   6.79609478e-01   6.79609478e-01   6.79609478e-01
6.79609478e-01   6.79609478e-01   6.79609478e-01   6.79609478e-01]
[  6.81910694e-01   6.81910694e-01   6.81910694e-01   6.81910694e-01
6.81910694e-01   6.81910694e-01   6.81910694e-01   6.81910694e-01
6.81910694e-01   6.81910694e-01   6.81910694e-01   6.81910694e-01
6.81910694e-01   6.81910694e-01   6.81910694e-01   6.81910694e-01]]

问题1当数据进来时,我想添加一个"0“作为每个数组的第一个元素,所以实际上我有一个装满了零的第一列。我尝试过这样做,但它并没有将它添加到每个数组的每个元素中,仅仅是第一个元素,而不是每个元素中的第一个元素。

代码语言:javascript
复制
block = 1
np.append(block, [Drest])

问题2我还需要从多维数组中创建其他每一个“列”的平均值,所以我已经尝试过了,但是我不能让它在我的生活中工作!

代码语言:javascript
复制
 for i in range(0, len(Drest), 2):
    HbO2 = Drest[i]
    HbO2Rest = sum(HbO2)/float(len(HbO2))

感谢期待您的帮助:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-01 20:14:07

问题1:当数据进来时,我想添加一个"0“作为每个数组的第一个元素,所以实际上我有一个装满了零的第一列。我尝试过这样做,但它并没有将它添加到每个数组的每个元素中,仅仅是第一个元素,而不是每个元素中的第一个元素。

代码语言:javascript
复制
import numpy as np
New_Drest = np.asarray([0 for x in xrange(len(Drest))])
Modified_Drest = np.concat(New_Drest,Drest)

问题2 :我还需要从多维数组中创建其他每一个“列”的平均值,所以我已经尝试过了,但是我无法让它工作起来!

Numpy有一个普通的api。

代码语言:javascript
复制
 for i in xrange(len(Drest)):
    if i % 2 == 0:
        HbO2 = Drest[i]
        HbO2Rest = np.mean(HbO2)

Python鼓励使用xrange而不是range。

票数 0
EN

Stack Overflow用户

发布于 2017-06-01 20:52:18

问题1

假设一个数组或一个数组达到顶点:

代码语言:javascript
复制
b = [x.insert(0,0) for x in Drest]

问题2

您也可以使用以前创建的数组进行切片.

代码语言:javascript
复制
c = [sum(y[1:])/len(y[1:])*1.0 for y in b]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44316077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档