我需要在另一个numpy数组的给定位置保存一个numpy数组
import numpy as np
spotsAreaArray=np.zeros(30)
weatherConditions=np.zeros(30)
def saveInitialSpotId(spotId,spotArea,humidityReading,temperatureReading,lightReading):
#Store initial area of the spot at the respective location of the spot id
if spotsAreaArray[spotId] == 0:
spotsAreaArray[spotId]=spotArea
if weatherConditions[spotId] == 0:
sensorReadings=np.array(humidityReading,temperatureReading,lightReading)
weatherConditions[spotId]=sensorReadings
print(weatherConditions)
print(spotsAreaArray)
saveInitialSpotId(0,23,33,33,33)
saveInitialSpotId(0,25,55,55,55)
saveInitialSpotId(1,24,44,44,44)
saveInitialSpotId(1,99,99,99,99)
我需要做的是,将sensorReadings数组值存储在weatherConditions数组中给定的spotId位置。但这不起作用。请给我一个指导来实现这个目标吗?
答案 0 :(得分:0)
np.array
不会采用3个位置参数。使您的读数成为单个列表而不是一系列参数将解决问题。
sensorReadings=np.array([humidityReading,temperatureReading,lightReading])
只是为了安全起见:你的数组初始化也会产生麻烦,因为你会遇到:
ValueError:使用序列设置数组元素。
例如,可以通过将数组初始化为:
来解决weatherConditions=np.zeros((30,3))