Я импортирую данные из таблицы с несовместимыми соглашениями об именах. Я создал список названий производителей, которые я хотел бы использовать в качестве основы для сравнения с импортированным именем. В идеале я удаляю все строки из кадра данных, которые не совпадают со списком производителей. Я пытаюсь создать индексный вектор, используя для l oop, чтобы перебрать каждый элемент столбца dataframe и сравнить со списком. Если текст есть, обновите мой индексный вектор до true. Если нет, индексный вектор обновляется до false. Наконец, я хочу использовать индексный вектор для удаления строк из исходного фрейма данных.
Я пробовал генераторы и комплекты, но безрезультатно. Я думал, что для l oop будет менее изящно, но в конечном итоге работать, но я все еще застрял. Мой код указан ниже.
- meltdat .Products - это мой столбец данных, содержащий импортированные данные.
- mfgs - мой список имен производителей.
- prodex - мой индексный вектор.
meltdat = pd.DataFrame(
{"Location":["S1","S1","S1","S1","S1"],
"Date":["1/1/2020", "1/1/2020", "1/1/2020", "1/1/2020", "1/1/2020"],
"Products":['CC304RED','COHoney','EtainXL','Med467','MarysTop'],
"Sold":[1,3,0,1,2]})
mfgs = ['CC', 'Etain', 'Marys']
for prods in meltdat.Products:
if any(mfg in meltdat.Products[prods] for mfg in mfgs):
prodex[prods] = TRUE
else:
prodex[prods] = FALSE
Я добавил пример данных в фрейм данных, который отражает мои импортированные данные.