#python #list #startswith
#python #Список #начинается с
Вопрос:
У меня есть столбец с разными значениями типа продукта, такого как книги, телевизор и т.д. Как я могу фильтровать значения столбца, который начинается с книг или фильмов?
Я пробовал, но он не фильтрует по трем значениям отдельно, я бы ожидал увидеть только значения столбцов категорий, которые начинаются с книг или значений, которые начинаются с фильмов.
#Create a list of values
filtering_list=['Books','Movies']
df=df[df.categories.str.startswith(filtering_list,na=False)]
Ответ №1:
Смотрите:https://www.geeksforgeeks.org/python-pandas-series-str-startswith /
str.startswith(str,na)
кажется, что в качестве первого аргумента используется строка, а не список, поэтому вам следует фильтровать как книги, так и фильмы, а затем объединять списки.
Что-то вроде blow должно сработать (не проверено, подразумевается как псевдокод)
result = []
for filter in filtering_list:
result.append(*df[df.categories.str.startswith(filter,na=False)])
(Обратите внимание на звездочку, чтобы распаковать список.)