Моя программа содержит множество различных массивов NumPy с различными данными внутри каждого из них. Пример массива:Python - выберите строку в массиве NumPy, где выполняется несколько условий.
x = [5, 'ADC01', Input1, 25000], # Where [TypeID, Type, Input, Counts]
[5, 'ADC01', Input2, 40000]
Из отдельных массивов можно получить значение 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])
Здесь он выглядит в массиве (InstInv_Data) в столбце «INSTANCENAME» и находит соответствие с 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])
Спасибо, я попытался сделать что-то похожее на это, но я смутился тем, где положить скобки. Это здорово! –