Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Объясните задачу по программированию на языке Python

Дамир Юсупов Ученик (94), на голосовании 3 года назад
Проблема с решением задачи:

Сгенерируйте Series из 100 значений нормально распределенной СВ (пр. random.normal с дефолтными параметрами - нулевыми средним и единичной дисперсией).
Возведите каждое значение серии в 3 степень, а значения индекса увеличьте в 3 раза
Ответьте на следующие вопросы через запятую (без пробелов)
1) Выведите сумму элементов, строго меньших 2.6, имеющих нечетные значения индекса.
2) Выведите количество значений серии меньше нуля.

Пояснения:
Не забудьте про фиксированный seed(242) (его менять не нужно)

Мой код:
np.random.seed(242)
s = pd.Series(np.random.normal(size=100)**3)
s[(x % 2 != 0 for x in s.index) and (s < 2.6)].sum()
s[s < 0].count()

В результате получаю:
51

Вопрос в том, что результат должен состоять из 2 ответов (1 и 2 в задачи), а я получаю один, где я ошибся?
Голосование за лучший ответ
Black Afgano Просветленный (22292) 3 года назад
Вы получаете результат последнего действия. Чтобы получить два значения на выходе, нужно присвоить их разным переменным

sum_ = s[s.index % 2 != 0][s < 2.6].sum()
count_ = s[s < 0].count()

print(sum_, count_)
Похожие вопросы