Чтение онлайн

на главную - закладки

Жанры

Язык программирования Python
Шрифт:

[ 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 определяет тип многомерный массив и множество функций для работы с массивами. Также были представлены модули для линейной алгебры и моделирования последовательностей случайных чисел различных распределений.

6. Лекция: Обработка текстов. Регулярные выражения. Unicode.

В этой лекции дается краткое представление о возможностях языка Python по обработке текстовой информации. Рассмотрены синтаксис и семантика регулярных выражений, а также некоторые вопросы использования Unicode.

Под

обработкой текстов понимается анализ, преобразование, поиск, порождение текстовой информации. По большей части работа с естественными текстами не будет глубже, чем это возможно без систем искусственного интеллекта. Кроме того, здесь предполагается опустить рассмотрение обработки текстов посредством текстовых процессоров и редакторов, хотя некоторые из них (например, Cooledit) предоставляют возможность писать макрокоманды на Python.

Следует отметить, что для Python созданы также модули для работы с естественными языками, а также для лингвистических исследований. Хорошим учебным примером может служить nltk (the Natural Language Toolkit).

Стоит отметить проект PyParsing (сайт:http://pyparsing.sourceforge.net), с помощью которого можно организовать обработку текста по заданной грамматике.

Строки

Строки в языке Python являются типом данных, специально предназначенным для обработки текстовой информации. Строка может содержать произвольно длинный текст (ограниченный имеющейся памятью).

В новых версиях Python имеются два типа строк: обычные строки (последовательность байтов) и Unicode–строки (последовательность символов). В Unicode–строке каждый символ может занимать в памяти 2 или 4 байта, в зависимости от настроек периода компиляции. Четырехбайтовые знаки используются в основном для восточных языков.

Примечание:

В языке и стандартной библиотеке за некоторыми исключениями строки и Unicode–строки взаимозаменяемы, в собственных приложениях для совместимости с обоими видами строк следует избегать проверок на тип. Если это необходимо, можно проверять принадлежность базовому (для строк и Unicode–строк) типу с помощью isinstance(s, basestring).

При использовании Unicode–строк, следует мысленно принять точку зрения, относительно которой именно Unicode–представление является главным, а все остальные кодировки — лишь частные случаи представления текста, которые не могут передать всех символов. Без такой установки будет непонятно, почему преобразование из восьмибитной кодировки называется decode (декодирование). Для внешнего представления можно с успехом использовать кодировку UTF–8, хотя, конечно, это зависит от решаемых задач.

Кодировка Python–программы

Для того чтобы Unicode–литералы в Python–программе воспринимались интерпретатором правильно, необходимо указать кодировку в начале программы, записав в первой или второй строке примерно следующее (для Unix/Linux):

Листинг

# -*- coding: koi8–r -*-

или (под Windows):

Листинг

# -*- coding: cp1251 -*-

Могут быть и другие варианты:

Листинг

# -*- coding: latin–1 -*-# -*- coding: utf–8 -*-# -*- coding: mac–cyrillic -*-# -*- coding: iso8859–5 -*-

Поделиться:
Популярные книги

Сын Тишайшего

Яманов Александр
1. Царь Федя
Фантастика:
попаданцы
альтернативная история
фэнтези
5.20
рейтинг книги
Сын Тишайшего

"Искажающие реальность" Компиляция. Книги 1-14

Атаманов Михаил Александрович
Искажающие реальность
Фантастика:
боевая фантастика
космическая фантастика
киберпанк
рпг
5.00
рейтинг книги
Искажающие реальность Компиляция. Книги 1-14

Школа. Первый пояс

Игнатов Михаил Павлович
2. Путь
Фантастика:
фэнтези
7.67
рейтинг книги
Школа. Первый пояс

Невеста на откуп

Белецкая Наталья
2. Невеста на откуп
Фантастика:
фэнтези
5.83
рейтинг книги
Невеста на откуп

Убивать чтобы жить 2

Бор Жорж
2. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 2

Вперед в прошлое!

Ратманов Денис
1. Вперед в прошлое
Фантастика:
попаданцы
5.00
рейтинг книги
Вперед в прошлое!

Аргумент барона Бронина 4

Ковальчук Олег Валентинович
4. Аргумент барона Бронина
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Аргумент барона Бронина 4

Измена. (Не)любимая жена олигарха

Лаванда Марго
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. (Не)любимая жена олигарха

Измена. Право на обман

Арская Арина
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на обман

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Жаба с кошельком

Донцова Дарья
19. Любительница частного сыска Даша Васильева
Детективы:
иронические детективы
8.26
рейтинг книги
Жаба с кошельком

Бастард Императора. Том 11

Орлов Андрей Юрьевич
11. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 11

Академия чаросвет. Тень

Ярошинская Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Академия чаросвет. Тень

Наследие Маозари 4

Панежин Евгений
4. Наследие Маозари
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Наследие Маозари 4