>>> print RandomArray.random([3,3]) # массив 3x3 из псевдослучайных чисел
[[ 0.53493741 0.44636754 0.20466961]
[ 0.8911635 0.03570878 0.00965272]
[ 0.78490953 0.20674807 0.23657821]]
Функция RandomArray.randint()
для получения массива равномерно распределенных чисел из заданного интервала и заданной формы:
>>> print RandomArray.randint(1, 10, [10])
[8 1 9 9 7 5 2 5 3 2]
>>> print RandomArray.randint(1, 10, [10])
[2 2 5 5 7 7 3 4 3 7]
Можно получать и случайные перестановки с помощью RandomArray.permutation()
:
>>> print RandomArray.permutation(6)
[4 0 1 3 2 5]
>>> print RandomArray.permutation(6)
[1 2 0 3 5 4]
Доступны и другие распределения для получения массива нормально распределенных величин с заданным средним и стандартным отклонением:
>>> print RandomArray.normal(0, 1, 30)
[-1.0944078 1.24862444 0.20415567 -0.74283403 0.72461408 -0.57834256
0.30957144 0.8682853 1.10942173 -0.39661118 1.33383882 1.54818618
0.18814971 0.89728773 -0.86146659 0.0184834 -1.46222591 -0.78427434
1.09295738 -1.09731364 1.34913492 -0.75001568 -0.11239344 2.73692131
-0.19881676 -0.49245331 1.54091263 -1.81212211 0.46522358 -0.08338884]
Следующая таблица приводит функции для других распределений:
Функция и ее аргументы | Описание |
---|---|
F(dfn, dfd, shape=[]) | F–распределение |
beta(a, b, shape=[]) | Бета–распределение |
binomial(trials, p, shape=[]) | Биномиальное распределение |
chi_square(df, shape=[]) | Распределение хи–квадрат |
exponential(mean, shape=[]) | Экспоненциальное распределение |
gamma(a, r, shape=[]) | Гамма–распределение |
multivariate_normal(mean, cov, shape=[]) | Многомерное нормальное распределение |
negative_binomial(trials, p, shape=[]) | Негативное биномиальное |
noncentral_F(dfn, dfd, nconc, shape=[]) | Нецентральное F–распределение |
noncentral_chi_square(df, nconc, shape=[]) | Нецентральное хи–квадрат распределение |
normal(mean, std, shape=[]) | Нормальное распределение |
permutation(n) | Случайная перестановка |
poisson(mean, shape=[]) | Пуассоновское распределение |
randint(min, max=None, shape=[]) | Случайное целое |
random(shape=[]) | Равномерное распределение на интервале (0, 1) |
random_integers(max, min=1, shape=[]) | Случайное целое |
standard_normal(shape=[]) | Стандартное нормальное распределение |
uniform(min, max, shape=[]) | Равномерное распределение |
Заключение
В этой лекции рассматривался набор модулей для численных вычислений. Модуль Numeric
определяет тип многомерный массив и множество функций для работы с массивами. Также были представлены модули для линейной алгебры и моделирования последовательностей случайных чисел различных распределений.
Ссылки
Сайт, посвященный Numeric Python: http://www.pfdubois.com/numpy/
Лекция #6: Обработка текстов. Регулярные выражения. Unicode.
В этой лекции дается краткое представление о возможностях языка Python по обработке текстовой информации. Рассмотрены синтаксис и семантика регулярных выражений, а также некоторые вопросы использования Unicode.