Объяснение требуется в уроке Seaborn

Я учу морского от http://seaborn.pydata.org/tutorial/aesthetics.html

В разделе импорта, пожалуйста, объясните эту строку

np.random.seed(sum(map(ord, "aesthetics")))

Что делает эта строка, и, пожалуйста, объясните каждый элемент в этой строке.

При построении смещения синусоиды, как определить это

plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)

1 ответ

Решение

Важная вещь первая: эта строка np.random.seed(sum(map(ord, "aesthetics"))) абсолютно не имеет никакого отношения к морской работе. Так что в принципе вам не нужно об этом беспокоиться.

ord дает байтовое представление символа

map применяет функцию к каждому элементу

sum суммирует элементы итерируемого.

Так map(ord, "aesthetics") выдаст список номеров, [97, 101, 115, 116, 104, 101, 116, 105, 99, 115] которые при подведении итогов дают 1069,

Этот номер затем подается np.random.seed, Это семя для генератора случайных чисел numpy. Указывая начальное число, вы убедитесь, что любые случайные числа, нарисованные впоследствии, основаны на этом начальном числе.

Смысл этого состоит в том, чтобы сделать воспроизводимые случайные числа. Указав начальное число, я могу знать, что при генерации случайного числа типа np.random.randint(10) результат будет 4 (для семян 1069).

Это чрезвычайно полезно для того, чтобы сделать воспроизводимые примеры, и именно поэтому они используют его в учебнике по морскому рожению, чтобы убедиться, что графики, сгенерированные из случайных чисел, фактически везде одинаковы.

Можно, конечно, утверждать, что использование этой команды более запутанно, чем запутывает людей, когда они видят разные сюжеты при воспроизведении учебника, но я думаю, это другой вопрос.

Другие вопросы по тегам