Based on this question, I succeed in using the query method:
import pandas as pd
df = pd.DataFrame({"genre":[['comedy', 'sci-fi'], ['action', 'romance', 'comedy'], ['documentary'], ['crime','horror'], []]})
df.query("(genre.str.contains('comedy', na=False, regex=False))", engine="python")
Now I'd like to have a query returning rows with empty list for genre. I try
df.query("~(genre.str.contains('\\w*', na=False, regex=True))", engine="python")
and many other variations, without any success…
df.query("genre.astype('str') == '[]'")but I find it an ugly hack, converting to string…