我有一个numpy结构化数组。公司名称:
myArray = np.array([(1, 1, 1, u'Zone3', 9.223),
(2, 1, 0, u'Zone2', 17.589),
(3, 1, 1, u'Zone2', 26.95),
(4, 0, 1, u'Zone1', 19.367),
(5, 1, 1, u'Zone1', 4.395)],
dtype=[('ID', '<i4'), ('Flag1', '<i4'), ('Flag2', '<i4'), ('ZoneName', '<U5'),
('Value', '<f8')])
当满足多个条件时,我想将“值”列中的值求和。如果我想要Flag1和Flag2==1,我可以使用:
^{pr2}$但是,我还想根据值是否在列表中包含第三个标准,这相当于使用x in list
:
criteriaList = ("Zone1", "Zone2")
sumResult = (sum(myArray[((myArray["Flag1"] == 1) & (myArray["Flag2"] == 1) &
(myArray["ZoneName"] in criteriaList))]["Value"]))
应该等于31.345。我对numpy是个新手,已经研究过掩码数组,但不清楚这些数组是否可以用于结构化数组。谢谢。在
您需要使用^{} 来测试
criteriaList
的成员资格:相关问题 更多 >
编程相关推荐