Boa tarde, Vitor. Não sou instrutor, mas posso responder. (?)
Quando você faz dataset[(dataset.Motor == 'Motor Diesel') and (dataset.Zero_km == True)]
o Python tenta converter (dataset.Motor == 'Motor Diesel')
e (dataset.Zero_km == True)
em valores Booleanos . Porém, matrizes NumPy (de comprimento maior que 1) e objetos Pandas como Series não possuem um valor booleano e o seguinte erro é lançado: ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
No entanto, não queremos avaliar uma expressão booleana e sim avaliar elemento a elemento e por isso usamos os operadores binários & ou |. Sugiro executar as duas expressões separadamente para entender melhor o que quero dizer com elemento a elemento.