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

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

Жанры

Язык программирования 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 -*-

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

Дьюма-Ки

Кинг Стивен
Фантастика:
ужасы и мистика
8.90
рейтинг книги
Дьюма-Ки

Телемак

Фенелон Франсуа
Приключения:
исторические приключения
5.00
рейтинг книги
Телемак

Первопроходцы

Полевой Борис Николаевич
638. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Первопроходцы

Беглец

Бубела Олег Николаевич
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
8.94
рейтинг книги
Беглец

Три возраста Окини-сан

Пикуль Валентин Саввич
Проза:
историческая проза
9.14
рейтинг книги
Три возраста Окини-сан

Асана, пранаяма, мудра, бандха

Сарасвати Свами Сатьянанда
Дом и Семья:
здоровье и красота
8.33
рейтинг книги
Асана, пранаяма, мудра, бандха

Неучтенный элемент. Том 3

NikL
3. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 3

От войны до войны

Камша Вера Викторовна
2. Отблески Этерны
Фантастика:
фэнтези
8.70
рейтинг книги
От войны до войны

Дорога ветров

Уильямс Тэд
3. Орден Манускрипта
Фантастика:
фэнтези
7.75
рейтинг книги
Дорога ветров

Я – Малала

Юсуфзай Малала
Документальная литература:
биографии и мемуары
6.80
рейтинг книги
Я – Малала

Самоубийцы. Повесть о том, как мы жили и что читали

Рассадин Станислав Борисович
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Самоубийцы. Повесть о том, как мы жили и что читали

Огнем и водой

Вересов Дмитрий
2. Ленинградская сага
Проза:
современная проза
5.40
рейтинг книги
Огнем и водой

Где властвует любовь

Куин Джулия
4. Бриджертоны
Любовные романы:
исторические любовные романы
8.94
рейтинг книги
Где властвует любовь

Кровавое око Сарпедиона (авт. сборник)

Гамильтон Эдмонд Мур
Fantasy
Фантастика:
научная фантастика
6.00
рейтинг книги
Кровавое око Сарпедиона (авт. сборник)