@svetlana833

Не получается решить задачу яндекс.практикум, python?

никак не могу понять что нужно сделать в задаче :(

Оценить изменения показателей после внедрения роботов можно только в том случае, если данные распределены более или менее равномерно: если из всех 32 тысяч значений на период «после» приходится всего 100, сделанные выводы нельзя будет считать корректными.
Узнайте, сколько строк приходится на каждый период — посчитайте количество значений 'До внедрения роботов' и 'После внедрения роботов' в столбце interval. Выведите результаты на экран: на первой строке количество значений до внедрения, а на второй — после.

import pandas

data = pandas.read_csv('support_data.csv')

interval = list(data['interval'])

for index in range(len(interval)):
before = 0
after = 0
if interval[index] == 'До внедрения роботов':
before =+ 1
if interval[index] == 'После внедрения роботов':
after =+ 1

print(before)
print(after)
  • Вопрос задан
  • 7231 просмотр
Пригласить эксперта
Ответы на вопрос 3
a1exDi
@a1exDi
Geek
Перебор по индексу не нужен и записывать значение по индексу тоже не нужно

import pandas

data = pandas.read_csv('support_data.csv')

interval = list(data['interval'])

count_1 = 0
count_2 = 0

for i in interval:
    if i == "До внедрения роботов":
        count_1 += 1
    if i == "После внедрения роботов":     
        count_2 += 1
# ваш код здесь
print(count_1)
print(count_2)
Ответ написан
Комментировать
@o5a
Я так понимаю это практикум по pandas? Тогда и расчеты видимо предполагаются через функционал пакета, а не циклами. В pandas можно писать условия выборки например так:
df[df['interval'] == 'До внедрения роботов']
Это вернет DataFrame, у которого в колонке 'interval' указанное значение. Т.е. так получим выборку всех данных "до внедрения роботов".
Останется применить к ним подсчет количества строк.
Можно через метод shape
Так мы сразу получим нужное количество записей с такими данными. Аналогично "после внедрения".
Ответ написан
Комментировать
@ShapkoA
Здесь просто отступы надо соблюдать в цикле. и before =before+1 - надо указывать , что конкретно к чему прибавляешь

import pandas
data = pandas.read_csv('support_data.csv')
interval = list(data['interval'])
# ваш код здесь
before = 0
after = 0
for index in range(len(interval)):
if interval[index] == 'До внедрения роботов':
before =before+1
if interval[index] == 'После внедрения роботов':
after =after+1
print(before)
print(after)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы