Скользящее среднее с условиями (задача на собеседовании)Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Скользящее среднее с условиями (задача на собеседовании)

Сообщение Гость »


Я столкнулся с этим вопросом во время собеседования и не могу придумать решения. В этом и проблема. Предположим, у вас есть следующий набор данных (он выходит за рамки времени 2, но это всего лишь образец для работы):

импортировать панд как pd данные = pd.DataFrame({ 'время': [1, 1, 1, 2, 2, 2], 'names': ["Энди", "Боб", "Карен", "Энди", "Мэтт", "Сим"], 'вал': [1, 2, 3, 5, 6, 8] }) Напишите функцию для вычисления среднего значения до каждого момента времени, но не учитывайте повторяющиеся имена. То есть для времени 1 среднее значение равно (1+2+3)/3, для времени 2 я не включаю первое значение Энди, равное «1», я включаю только самое последнее значение, поэтому среднее значение для времени 2 равно (2 +3+5+6+8)/5.

Я пытался создать два словаря: один хранит счетчик «времени», а другой отслеживает «имена» и «значения», но я не знаю, как действовать дальше или как найти эффективный решение, чтобы я не пересчитывал средства на каждом этапе (это было еще одно требование для собеседования).

Это не обязательно должно быть решение для pandas, форма данных может быть любой, какую вы предпочитаете. Я просто представил его как pandas df.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»