J.G*_*ade 1 python arrays numpy python-2.7
我的程序包含许多不同的NumPy数组,每个数组中都有各种数据.数组的一个例子是:
x = [5, 'ADC01', Input1, 25000], # Where [TypeID, Type, Input, Counts]
[5, 'ADC01', Input2, 40000]
Run Code Online (Sandbox Code Playgroud)
从单独的数组我可以检索的价值Type和Input.然后我需要说
Counts = x[0,3] where Type = 'ADC01' and Input = 'Input2'
显然它不会像这样写.对于我只需要满足一个条件的时间,我使用过:
InstType_ID = int(InstInv_Data[InstInv_Data[:,glo.inv_InstanceName] == Instrument_Type_L][0,glo.inv_TypeID])
Run Code Online (Sandbox Code Playgroud)
在这里,它在"InstanceName"列中查找数组(InstInv_Data)并找到与Instrument_Type的匹配项.然后,它将"TypeID"列分配给InstType_ID.我基本上想要添加一个and语句,因此它还在另一列中查找另一个匹配的数据.
编辑:我只是想我可以尝试在两个单独的步骤中执行此操作.返回两个Input和Counts列在哪里Type-Column = Type.但是,我不确定如何实际返回两列,而不是特定的一列.像这样的东西:
Intermediate_Counts = (InstDef_Data[InstDef_Data[:,glo.i_Type] == Instrument_Type_L][0,(glo.i_Input, glo.i_Counts])
Run Code Online (Sandbox Code Playgroud)
你可以使用a & b进行逐元素和两个布尔数组a,b:
selected_rows = x[(x[:,1] == 'ADC01') & (x[:,2] == 'Input2')]
Run Code Online (Sandbox Code Playgroud)
同样,a | b用于OR和~aNOT.