Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.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进行实时数据采集/处理_Python_Real Time Data - Fatal编程技术网

使用Python进行实时数据采集/处理

使用Python进行实时数据采集/处理,python,real-time-data,Python,Real Time Data,我试图编写一个代码,从缓冲区(作为多维数组返回)获取信息,从所述数组中提取某些元素 这就是我所拥有的: 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()

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

这就是我所拥有的:

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)

问题1当数据进来时,我想添加一个“0”作为每个数组的第一个元素,因此我的第一列基本上都是零。我尝试过这样做,但它并没有将它添加到每个数组中,只是第一个元素,而不是每个数组中每个元素的第一个

block = 1
np.append(block, [Drest])
import numpy as np
New_Drest = np.asarray([0 for x in xrange(len(Drest))])
Modified_Drest = np.concat(New_Drest,Drest)
问题2 我还需要从多维数组中创建其他每一个“列”的平均值,所以我已经尝试过了,但我这辈子都不能让它工作

 for i in range(0, len(Drest), 2):
    HbO2 = Drest[i]
    HbO2Rest = sum(HbO2)/float(len(HbO2))

感谢您的帮助:)

问题1:当数据进来时,我想在每个数组的第一个元素中添加一个“0”,因此我的第一列基本上都是零。我尝试过这样做,但它并没有将它添加到每个数组中,只是第一个元素,而不是每个数组中每个元素的第一个

block = 1
np.append(block, [Drest])
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

 for i in xrange(len(Drest)):
    if i % 2 == 0:
        HbO2 = Drest[i]
        HbO2Rest = np.mean(HbO2)

Python鼓励使用xrange而不是range。

问题1:当数据进入时,我想添加一个“0”作为每个数组的第一个元素,因此我的第一列基本上都是零。我尝试过这样做,但它并没有将它添加到每个数组中,只是第一个元素,而不是每个数组中每个元素的第一个

block = 1
np.append(block, [Drest])
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

 for i in xrange(len(Drest)):
    if i % 2 == 0:
        HbO2 = Drest[i]
        HbO2Rest = np.mean(HbO2)

Python鼓励使用xrange而不是range。

问题1

假设Drest是一个或多个数组:

b = [x.insert(0,0) for x in Drest]
问题2

您也可以使用先前创建的数组进行切片来执行相同的操作

c = [sum(y[1:])/len(y[1:])*1.0 for y in b]

问题1

假设Drest是一个或多个数组:

b = [x.insert(0,0) for x in Drest]
问题2

您也可以使用先前创建的数组进行切片来执行相同的操作

c = [sum(y[1:])/len(y[1:])*1.0 for y in b]

Yay:D非常感谢@Tammy(顺便说一句,我在使用python 3时遇到了xrange的问题)Yay:D非常感谢@Tammy(顺便说一句,我在使用python 3时遇到了xrange的问题)您好@pierre Luc,谢谢您的帮助。。。我不知道为什么,但是“c=[sum(y[1:])/len(y[1:])*1.0代表b中的y]”不起作用。。。我不确定是不是因为它处理的是多维数组?但上述解决方案对我来说效果很好。谢谢again@RichardSummers这是行不通的。如果仔细观察,它不会给出n维数组中每个第二列的平均值。c=[sum(y[1:])/len(y[1:])*1.0表示b]中的y]将给出数组中每行的平均值。这就是为什么它无法解决您的问题的原因步骤1。Drest=[[1,2,3,4],[1,2,3,4]]步骤2:[求和(y[1:])表示Drest中的y]步骤3:[求和(y[1:])表示Drest中的y]加上这是一个n-dim数组,而不是numpy数组hi@pierre Luc,感谢您的帮助。。。我不知道为什么,但是“c=[sum(y[1:])/len(y[1:])*1.0代表b中的y]”不起作用。。。我不确定是不是因为它处理的是多维数组?但上述解决方案对我来说效果很好。谢谢again@RichardSummers这是行不通的。如果仔细观察,它不会给出n维数组中每个第二列的平均值。c=[sum(y[1:])/len(y[1:])*1.0表示b]中的y]将给出数组中每行的平均值。这就是为什么它无法解决您的问题的原因步骤1。Drest=[[1,2,3,4],[1,2,3,4]]步骤2:[Drest中y的求和(y[1:])步骤3:[Drest中y的len(y[1:])加上这是一个n-dim数组,而不是numpy数组