gpt4 book ai didi

python - numpy vstack 抛出维度错误

转载 作者:太空宇宙 更新时间:2023-11-04 09:05:57 26 4
gpt4 key购买 nike

我正在监视串行端口并尝试在数据到达时在 Matplotlib 中绘制数据。因为数据以不规则的间隔到达,所以我使用一种方法来附加数据 - 类似于 this thread .

这是我的代码:

data = np.zeros(shape=(1,1), dtype=[('millis',float),('temperature_Celsius',float),('relative_humidity',float),('setpoint',float),('relay_status',float)])
print data # gives a 1-row, 5-element tuple: [[(0.0, 0.0, 0.0, 0.0, 0.0)]]

# append the new row
# throws error regarding array dimensions
data = np.vstack(( data, [(1,2,3,4,5)] ))

我无法正确确定尺寸,因为我收到以下错误:

ValueError: all the input array dimensions except for the concatenation axis must match exactly

请帮忙找出语法错误。

在 Python 2.6、Numpy 1.8、Windows 7 上运行。

最佳答案

必须是相同的dtype:

>>> d2=asarray([(1.,2.,3.,4.,5.)],dtype=[('millis',float),('temperature_Celsius',float),('relative_humidity',float),('setpoint',float),('relay_status',float)])
>>> d2=asarray([(1.,2.,3.,4.,5.)],dtype=data.dtype) #or this
>>> d2
array([(1.0, 2.0, 3.0, 4.0, 5.0)],
dtype=[('millis', '<f8'), ('temperature_Celsius', '<f8'), ('relative_humidity', '<f8'), ('setpoint', '<f8'), ('relay_status', '<f8')])
>>> vstack((data,d2))
array([[(0.0, 0.0, 0.0, 0.0, 0.0)],
[(1.0, 2.0, 3.0, 4.0, 5.0)]],
dtype=[('millis', '<f8'), ('temperature_Celsius', '<f8'), ('relative_humidity', '<f8'), ('setpoint', '<f8'), ('relay_status', '<f8')])

旁注:是否用于某些 build 项目?看起来很有趣。

关于python - numpy vstack 抛出维度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20832304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com