Группа Excel по подстроке

Я чрезвычайно новичок в функции машинного обучения Python. Я хотел сгруппировать т. Е. Создать кластер на основе конкретных текстов из строк. В Вход в Excel есть 3 столбца Sr no, Name и Summary. Я хотел создать кластер на основе конкретных значений из сводного текста, т. Е. Если сводка содержит текст « Veg », то она должна быть в одном кластере, а если текст содержит « Non Veg », то он должен быть в другом кластере , Ожидаемый результат Вывод Excel , где третий столбец будет содержать кластеризованное значение. Все veg группируются в кластер 0 и Non Veg в кластер 1

К-средства могут решить это для меня. Но как кластер на основе текста из резюме. Незлая помощь. Заранее спасибо.

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

=IF(ISNUMBER(SEARCH("non veg", D3)), 1, IF(ISNUMBER(SEARCH("veg", D3)), 0, -1))

Предполагая, что верхний левый угол вашей истории – B2, и это формула в первой строке (т. Е. В ячейке E3 таблицы). Это должно давать 0 для любых клеток, содержащих non veg , 1 для клеток, содержащих veg и -1 для любых строк, не содержащих ни одного.

Вы можете, конечно, сделать что-то подобное в Python, как это было предложено @ juanpa.arrivillaga, но если ваш ввод и желаемый результат в excel, и есть простой способ сделать это в excel, я бы предложил, что это самый простой вариант.

Вы можете использовать xlrd для чтения файла Excel.

Вы также можете использовать pandas для чтения файла Excel.

Следующая демонстрация с pandas

меры

  1. Прочитайте файл Excel и создайте Dataframe . Метод pandas.read_excel .
  2. Напишите функцию, которая возвращает номер кластера в соответствии с Summary значением в каждой строке.

    Input to this function is row output is 0(Vegetarian), 1(Non Vegetarian), -1(not define)

  3. Примените эту функцию к каждой строке Dataframe.

  4. Запишите окончательный вывод обратно в файл Excel с pandas.to_excel метода pandas.to_excel .

код:

 >>> import pandas as pd >>> a = "43583564_input.xlsx" >>> df = pd.read_excel(a) >>> df sr. no Name Summary 0 1 T1 I am Vegetarian 1 2 T2 I am Non Vegetarian 2 3 T3 I am Non Vegetarian 3 4 T4 I am Vegetarian 4 5 T5 I am Non Vegetarian >>> def getCluster(row): ... if row["Summary"]=="I am Non Vegetarian": ... return 1 ... elif row["Summary"]=="I am Vegetarian": ... return 0 ... else: ... return -1 ... >>> df["Cluster"] = df.apply(getCluster, axis=1) >>> df sr. no Name Summary Cluster 0 1 T1 I am Vegetarian 0 1 2 T2 I am Non Vegetarian 1 2 3 T3 I am Non Vegetarian 1 3 4 T4 I am Vegetarian 0 4 5 T5 I am Non Vegetarian 1 >>> df.to_excel("43583564_output.xlsx") 
  • Получить текст между третьей и четвертой запятыми
  • Удаление определенных символов из строки в ячейке
  • Автоматическая конкатенация в Excel
  • цифровая подпись - передача файла excel при незначительных изменениях пользователя приводит к другой подписи.
  • Excel - итерация и подсчет групп, если менее 5 отчетов для менеджера
  • Excel - суммирование количества уникальных элементов в таблице
  • Сводные правила замены строк (для пробелов)
  • промежуточный итог, совпадение индекса с динамическим диапазоном и несколькими критериями
  • Функция Excel, Sum не работает
  • excel sum, если значение x находится в столбце A или B и A не равно B
  • Excel - Итерация, основанная на изменении значения ячейки, результат склейки
  • Давайте будем гением компьютера.