Решение с использованием .apply()
, итерация по отдельным элементам списка, проверка с помощью .startswith()
и оценка длины результирующего списка:
import pandas as pd
df = pd.DataFrame({'a': [['foo', 'bar'], ['bar'], ['fah', 'baz']]})
df = df[df.a.apply(lambda x: len([el for el in x if el.startswith('f')]) > 0)]
print(df)
, что приводит к:
a
0 [foo, bar]
2 [fah, baz]