Как я могу отфильтровать значения столбцов, которые начинаются с одной из трех идентифицируемых строк? - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть столбец с различными значениями типа продукта, такими как книги, телевизор и т. Д. Как я могу отфильтровать значения столбца, который начинается с книг или фильмов?

Я пробовал, ноэто не фильтрация по трем значениям по отдельности, я бы ожидал увидеть в столбце категорий только те значения, которые начинаются с книг или значений, начинающихся с фильмов.

#Create a list of values
filtering_list=['Books','Movies']
df=df[df.categories.str.startswith(filtering_list,na=False)]

1 Ответ

0 голосов
/ 05 апреля 2019

См .: https://www.geeksforgeeks.org/python-pandas-series-str-startswith/

str.startswith(str,na), кажется, принимает в качестве первого аргумента строку, а не список, поэтому вам следует отфильтровать как книги, так и фильмы, а затем составить списки.

Что-то вроде удара должно сработать (не проверено как псевдокод)

result = []
for filter in filtering_list:
  result.append(*df[df.categories.str.startswith(filter,na=False)]) 

(обратите внимание на звездочку, чтобы распаковать список.)

...