В этой статье
У занятия S04 пустая длительность, но статус — завершено. Занятие нужно посчитать, а длительность нельзя принять за ноль. Именно такие правила стоит согласовать с ChatGPT до расчёта: какие строки оставить, как учитывать пропуски и на что делить сумму.
Если выбор инструмента ещё впереди, начните со сравнения средств анализа данных. Здесь пройдём весь расчёт в ChatGPT на одном небольшом CSV.
Исходные данные: шесть занятий
Это вымышленный журнал занятий клуба. Скопируйте его в файл sessions.csv или вставьте в сообщение целиком:
session_id,format,status,minutes
S01,онлайн,завершено,30
S02,онлайн,завершено,45
S03,очно,завершено,60
S04,очно,завершено,
S05,онлайн,отменено,20
S06,очно,завершено,40
Одна строка — одно занятие. session_id позволяет проверить конкретную запись, format задаёт группировку, status — фильтр, а minutes содержит длительность в минутах.
Нужно посчитать по каждому формату и в целом четыре показателя: количество завершённых занятий, количество известных длительностей, их сумму и среднее. S05 исключаем целиком: занятие отменено. S04 включаем в число завершённых, но его пустую длительность оставляем пропуском и не включаем в знаменатель среднего.
При доступной функции анализа ChatGPT принимает CSV, XLS и XLSX и может выполнять расчёты с помощью Python. Для такого файла удобнее передать сами ячейки, а не скриншот: структура «одна запись на строку» облегчает точные вычисления. Справка OpenAI об анализе данных.
Для нашего короткого CSV достаточно вставить текст в чат. Обычная работа с текстом доступна в бесплатном ChatGPT с ограничениями использования. Если вы уже выбираете платный тариф, в Amber Market можно купить месячную подписку ChatGPT. Для выполнения этого примера покупка не требуется. Условия бесплатного доступа.
Сначала согласуйте фильтр и пропуски
Прикрепите файл или вставьте CSV вместе с запросом:
Проанализируй журнал занятий из приложенного файла или вставленного CSV.
Правила:
1. Оставь только строки, где status = "завершено".
Строки со status = "отменено" исключи целиком.
2. Сгруппируй оставшиеся строки по format.
3. Для каждой группы и общего итога посчитай:
completed — число оставшихся строк;
known — число известных числовых значений minutes;
sum_minutes — сумму известных длительностей;
mean_minutes — sum_minutes / known.
4. Пустое minutes у S04 сохрани как пропуск, не заменяй нулём.
S04 входит в completed, но не входит в known и знаменатель среднего.
5. Покажи число исходных и оставшихся строк, а также session_id
исключённых записей. Для сумм и средних приведи расчёт по строкам.
6. В выводе опиши наблюдаемые числа и полноту данных.
Не делай выводов о преимуществе форматов и причинах различий.
Отдельно назови, какое недостающее значение нужно уточнить.
Сначала кратко изложи принятые правила фильтра, пропусков и среднего.
Если minutes не распознан как числовой столбец, сообщи об этом.
Дождись моего подтверждения перед расчётом.
В ответе до расчёта проверьте три вещи: остаются только завершённые занятия; S04 считается занятием с неизвестной длительностью; среднее делится на число известных длительностей. Если всё совпало, отправьте: «Правила верны. Выполни расчёт и покажи проверку по строкам».
Если ChatGPT предлагает заполнить пропуск нулём или учитывать отменённые занятия, исправьте это до вычислений. Конкретное условие и доработка запроса после чтения ответа соответствуют рекомендациям OpenAI по составлению промптов.
Контрольный результат
Ниже — контрольная арифметика для этих данных, а не результат запуска ChatGPT.
В CSV шесть строк данных, без заголовка. После фильтра status = "завершено" остаются пять: S01, S02, S03, S04, S06. Исключена одна строка — S05 со статусом отменено. Её 20 минут не участвуют ни в суммах, ни в средних.
| Формат | Завершённых занятий (completed) | Известных длительностей (known) | Сумма известных минут (sum_minutes) | Среднее по известным, мин (mean_minutes) |
|---|---|---|---|---|
| онлайн | 2 | 2 | 75 | 37,5 |
| очно | 3 | 2 | 100 | 50 |
| Итого | 5 | 4 | 175 | 43,75 |
Для онлайн остаются S01 = 30 и S02 = 45: два занятия, две известные длительности, 30 + 45 = 75 минут, среднее 75 / 2 = 37,5.
Для очного формата остаются S03 = 60, пропуск у S04 и S06 = 40: три занятия, две известные длительности, 60 + 40 = 100 минут, среднее 100 / 2 = 50.
Общий итог: 2 + 3 = 5 завершённых занятий и 2 + 2 = 4 известные длительности. Сумма — 30 + 45 + 60 + 40 = 175 минут, среднее — 175 / 4 = 43,75 минуты. Знаменатель здесь 4, хотя завершённых занятий 5.
Для собственной проверки в электронной таблице можно подробнее разобрать формулы Excel с ChatGPT: перенесите тот же фильтр по статусу и отдельно проверьте подсчёт строк и непустых числовых ячеек.
Где искать ошибку, если числа разошлись
Начните с исключённых строк. Если в результате участвуют 20 минут из S05, нарушен фильтр. Если завершённых занятий только четыре, вероятно, вместе с пустой длительностью удалили всю строку S04.
Если среднее очного формата получилось 100 / 3 ≈ 33,33, в знаменатель попало занятие с неизвестной длительностью. Так бывает, в частности, при замене пропуска нулём. Ноль означает известную длительность в ноль минут; пустая ячейка означает, что значение неизвестно.
Для своего файла попросите ChatGPT показать типы столбцов и строки, которые не прошли фильтр. Статусы завершено и завершено с пробелом в конце могут обрабатываться как разные значения. Если minutes прочитан как текст, проверьте преобразование в число и разделитель дробной части: без этого расчёт может дать ошибку или неверный результат. После очистки снова сверьте число строк и пропусков.
Успешная загрузка большого или плохо устроенного файла ещё не подтверждает, что он обработан полностью. Проверяйте исходное число записей, исключённые строки и допущения в расчёте; если ChatGPT использовал Python, просмотрите и код. Рекомендации OpenAI по проверке анализа.
В нашем примере корректный вывод звучит так: по известным длительностям среднее для онлайн равно 37,5 минуты, для очного формата — 50 минут. У одного из трёх очных занятий длительность отсутствует. Следующее действие — уточнить minutes для S04 и пересчитать показатели. Разница средних сама по себе не доказывает преимущество формата и не объясняет причин.
175 минут — сумма четырёх известных длительностей, а не полное время всех пяти завершённых занятий. 43,75 минуты — среднее по этим четырём значениям.