#python #filter
#python #Фильтр
Вопрос:
Я бы хотел отфильтровать серию списка по списку. Ниже я представил MWE:
a = np.array([[0,1,2],[2,3,5]])
b = pd.Series(list(a))
Желаемый результат
0 [0,1,2]
Я пытался
b[b == [1, 2, 3]]
# and
b[b in [[1, 2, 3]]]
но появляется сообщение об ошибке ('Lengths must match to compare', (2,), (3,))
Комментарии:
1. можете ли вы объяснить логику того, как вы получили желаемый результат?
2. @Pygirl У меня есть фрейм данных, и один столбец состоит из списков. Я хотел бы реализовать фильтр, получающий только элементы, определенные условием, в данном случае
[1, 2, 3]
.
Ответ №1:
Спасибо за ваше время! Я решил проблему из приведенного ниже кода:
cond = [b[i]== [0, 1, 2] for i in range(b.shape[0])]
b.where(cond).dropna()
#output
0 [0, 1, 2]
dtype: object