С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/88: Рейтинг темы: голосов - 88, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 4

Выведите полученные значения на экран на отдельных строках в обычном порядке

02.04.2022, 23:55. Показов 17972. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Прохожу вводную часть на Яндекс Практикум. Задача

Чтобы найти средние показатели, в каждом сегменте разделите количество робокотов на количество обращений. Выведите полученные значения на экран на отдельных строках в обычном порядке: нулевой, первый, второй.
Удобнее всего добавить в подсчёт робокотов для каждого сегмента из предыдущего задания подсчёт обращений, а затем вывести на экран результат деления одного на другое:
Python
1
2
3
4
5
6
7
cats = 0
counter = 0
for index in range(len(data)):
    if segment[index] == 'Segment 0': 
        cats += robocats[index] 
        counter += 1
print(cats / counter)
Мой код

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
       import pandas
 
       data = pandas.read_csv('support_data.csv')
 
       segment = list(data['segment'])
       robocats = list(data['robocats'])
 
       zero_segment = 0
       first_segment = 0
       second_segment = 0 
       counter = 0  
                                    
       for value in range(len(data)):
           if segment[value] == 'Segment 0':
              zero_segment += robocats[value]
              counter += 1
           if segment[value] == 'Segment 1':
              first_segment += robocats[value]
              counter += 1
           if segment[value] == 'Segment 2':
              second_segment += robocats[value]
              counter += 1
 
      print(zero_segment / counter)  
      print(first_segment / counter)
      print(second_segment / counter)
Выдает ошибку - неверное значение переменной. Я понимаю, что нужно вычислить значение counter, но не могу понять как.
Вот столбцы из датасет

customer_id — уникальные идентификаторы клиентов;
interval — период: 'До внедрения роботов' или 'После внедрения роботов';
score — оценка пользователя после обращения в службу поддержки;
duration — продолжительность общения с поддержкой;
promo — получил ли пользователь промокод: 1 — да, 0 — нет;
robocats — количество робокотов у пользователя на момент обращения.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2022, 23:55
Ответы с готовыми решениями:

Выведите состояние массива после каждой вставки на отдельных строках
Помогите решить эту задачу , с объяснениями, если можно: Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого...

Вывести полученные "куски" поочередно на отдельных строках
Вводится слово затем число – шаг отреза. Сначала отрубить "кусок", равный шагу, с конца слова, затем такой же "кусок" с начала,...

Вывести полученные списки в порядке возрастания по сумме абсолютных значений отдельных элементов
Дан список из 30 случайных целых и дробных чисел от -100 до +100. Сформировать из списка 10 списков по 3 элемента. N = print(N) ...

7
Эксперт Python
8848 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,315
03.04.2022, 05:34
Ayzora, Выложи базу данных data (или хотя бы часть) и значения Segment 0, Segment 1, Segment 2
Предварительно - скорее всего перевод значений в список:
Python
1
2
segment = list(data['segment'])
robocats = list(data['robocats'])
нужно
Python
1
2
segment = data['segment'].to_list()
robocats = data['robocats'].to_list()
https://pandas.pydata.org/pand... _list.html
0
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 4
03.04.2022, 12:58  [ТС]
Добрый день! Да-да, извините, вчера уже просто не соображала к вечеру.
Суть задачи "В Moscow Catnamycs необычная ситуация: удовлетворённость клиентов и продажи растут, а доходы при этом падают.
В этом случае у вас есть зацепка: доходы компании начали снижаться, когда роботы «Роберты» в службе поддержки стали получать высокие оценки клиентов."
Далее открытие датасет([32540 rows x 7 columns]), далее выяснение что в столбце interval есть два периода('До внедрения роботов' или 'После внедрения роботов'), далее что в segment три уникальных значения (соответственно 29673, 2468, 399), далее нужно понять что объединяет пользователей каждого сегмента(предположение что количество робокотов), для этого считаем общее количество робокотов в каждом сегменте(из столбца robocats, соответственно 0, 2468, 3964)
И теперь я не могу понять откуда и как брать "количество обращений" на которых нужно делить робокотов. Ведь по сути весь датасет это же и есть количество обращений? Или я неправильно понимаю вводные задачи?
Вот часть датасет которая открывается:
customer_id segment ... promo robocats
0 cst_5930999721 Segment 0 ... 0 0
1 cst_8129349913 Segment 0 ... 0 0
2 cst_0760362226 Segment 0 ... 0 0
3 cst_7443009819 Segment 0 ... 0 0
4 cst_9187686101 Segment 0 ... 0 0
... ... ... ... ... ...
32535 cst_1333260888 Segment 2 ... 0 12
32536 cst_6816052366 Segment 2 ... 0 7
32537 cst_7096819028 Segment 2 ... 0 14
32538 cst_8907977961 Segment 2 ... 0 11
32539 cst_3452655724 Segment 2 ... 0 12
[32540 rows x 7 columns]

Добавлено через 8 минут
Цитата Сообщение от Ayzora Посмотреть сообщение
volvo
Я пока не разобралась в правильном оформлении постов на форуме, если вы укажете где искать информацию об этом буду очень благодарна! Я пыталась править вручную, но при отправке сообщения все пропадает.
0
Эксперт Python
8848 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,315
03.04.2022, 13:46
Ayzora,
вывести на экран результат деления одного на другое:

Python
1
2
3
4
5
6
7
8
9
10
import pandas as pd 
import numpy as np 
 
data = pd.DataFrame(
{'segment': ['Segment 0']*3 + ['Segment 1']*4 + ['Segment 2']*5,
'robocats': list(range(12))})
print(data)
res = data.groupby(['segment'])['robocats'].sum() / \
data.groupby(['segment'])['segment'].count()
print(*res.to_list(), sep='\n')
Добавлено через 2 минуты
Числитель в res - сумма по колонке robocats для уникальных по segment
Знаменатель - количество уникальных значений по segment
1
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 4
03.04.2022, 19:32  [ТС]
Спасибо! Только я до этого уровня еще не дошла) Пока все задачи решаются на примитивном уровне, через циклы и переменные
0
Эксперт Python
8848 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,315
03.04.2022, 19:52
Ayzora, в pandas циклы - "зло".
0
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 4
03.04.2022, 21:58  [ТС]
Так это не мое желание, оформление задачи должно быть согласно пройденной теме. То есть я не могу написать то, что не изучала(
0
Эксперт Python
8848 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,315
04.04.2022, 04:22
Ayzora,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
       import pandas
 
       data = pandas.read_csv('support_data.csv')
 
#############################
       # segment = list(data['segment')
       # robocats = list(data['robocats'])
       segment = data['segment'].to_list()
       robocats = data['robocats'].to_list()
#############################
 
       zero_segment = 0
       first_segment = 0
       second_segment = 0 
       counter = 0  
                                    
       for value in range(len(data)):
           if segment[value] == 'Segment 0':
              zero_segment += robocats[value]
              counter += 1
           elif segment[value] == 'Segment 1':
              first_segment += robocats[value]
              counter += 1
           elif segment[value] == 'Segment 2':
              second_segment += robocats[value]
              counter += 1
 
      print(zero_segment / counter)  
      print(first_segment / counter)
      print(second_segment / counter)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2022, 04:22
Помогаю со студенческими работами здесь

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

Дано натуральное число N. Выведите все его цифры по одной, в обычном порядке, разделяя их пробелами или новыми
Дано натуральное число N. Выведите все его цифры по одной, в обычном порядке, разделяя их пробелами или новыми строками. При решении...

Рекурсия. Дано натуральное число N. Выведите все его цифры по одной, в обычном порядке, разделяя их пробелами или новыми строками
Привет! Начал изучать рекурсию на с++, прочитал несколько статей и понял, что ничего не понял:) Нашел несколько заданий, вот одно из них:...

Разбить предложения на слова и вывести их на экран в отдельных строках
Пользователь вводит большое предложение. Необходимо разбить предложения на слова и вывести их на экран в отдельных строках

Выведите в n строках номера предметов в том порядке, в котором их следует сдавать
Сессия Ограничение времени:1 секунда Ограничение памяти:64Mb Ввод:стандартный ввод или input.txt Вывод:стандартный вывод или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru