Pandas сравнение вызывает TypeError: не может сравниться массив dtyped [float64] со скаляром типа [bool]

У меня есть следующая структура для моего DataFrame:

Index: 1008 entries, Trial1.0 to Trial3.84
Data columns (total 5 columns):
CHUNK_NAME                    1008  non-null values
LAMBDA                        1008  non-null values
BETA                          1008  non-null values
HIT_RATE                      1008  non-null values
AVERAGE_RECIPROCAL_HITRATE    1008  non-null values

chunks=['300_321','322_343','344_365','366_387','388_408','366_408','344_408','322_408','300_408']
lam_beta=[(lambda1,beta1),(lambda1,beta2),(lambda1,beta3),...(lambda1,beta_n),(lambda2,beta1),(lambda2,beta2)...(lambda2,beta_n),........]

my_df.ix[my_df.CHUNK_NAME==chunks[0]&my_df.LAMBDA==lam_beta[0][0]]

Я хочу, чтобы строки Dataframe для определенного фрагмента позволяли говорить куски [0] и конкретное значение лямбда. Таким образом, в этом случае вывод должен состоять из всех строк в фрейме данных, имеющем CHUNK_NAME = '300_321' и LAMBDA = lambda1. Было бы n строк по одному для каждого значения бета, которое будет возвращено. Но вместо этого я получаю следующую ошибку. Любая помощь в решении этой проблемы будет оценена.

TypeError: cannot compare a dtyped [float64] array with a scalar of type [bool]

Ответ 1

& имеет более высокий приоритет, чем ==. Запись:

my_df.ix[(my_df.CHUNK_NAME==chunks[0])&(my_df.LAMBDA==lam_beta[0][0])]
         ^                           ^ ^                            ^