В этом руководстве представлен базовый обзор Python (›= 3.6) специально для анализа данных. В частности, мы не рассматриваем аспекты объектно-ориентированного программирования (ООП) Python, как управлять ошибками и исключениями и т. д. Python — это зрелый язык программирования общего назначения, и соответственно у него есть много наворотов. Однако для вводной аналитики данных вам нужно только владеть определенным подмножеством всех функций, которые может предложить Python, и наша цель здесь — сосредоточиться только на этих функциях. Этот учебник не предполагает никакого предшествующего опыта программирования любого рода, хотя некоторые знания в области функционального программирования, безусловно, будут полезны. Читатель может обратиться к этой книге за подробное введение в язык программирования Python. Если вам нужна шпаргалка по основам Python, эта здесь весьма полезна. Кроме того, по ссылке здесь есть отличный набор интерактивных обучающих материалов по программированию на Python.

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

import warnings
warnings.filterwarnings('ignore')

В Python комментарии обозначаются знаком «#» (решётка). Все, что идет после знака #, интерпретатор Python игнорирует.

Если вы хотите выполнить строку, но подавить ее вывод, вы можете закончить строку точкой с запятой.

# we would like to run the line below, 
# but we would like to hide its output:
2+2;

Переменные

В Python вы можете присвоить имя значению, и это имя называется «переменной». Чтобы создать переменную, вы используете знак =.

x = 'Hello'  # here, x is of "string" base type, which we discuss further below

Как только вы определите переменную x, вы сможете использовать эту переменную вместо ее фактического значения. Давайте проверим это с помощью print функции (иногда мы будем называть функцию «команда» или «метод» — практически все они означают тоже самое).

print(x)
Hello

Вы можете присвоить одно и то же значение более чем одной переменной.

y = z = 23
print(y)
print(z)
23
23

Python позволяет одновременно назначать несколько переменных нескольким значениям. Это называется несколько назначений.

a, b, c = 3.14, 'Hello', 1887
print(a, b, c)
3.14 Hello 1887

В Python вы можете легко поменять местами значения между несколькими переменными, как показано ниже.

a, b, c = c, b, a
print(a, b, c)
1887 Hello 3.14

Если вам больше не нужна переменная, вы можете удалить ее из памяти вашего компьютера с помощью функции del().

del(x)

Базовые типы данных в Python

Python имеет следующие базовые типы данных (существует также базовый тип byte, но мы его не рассматриваем).

Чтобы увидеть тип объекта, вы можете использовать функцию type().

type(10)
int
type(10.5)
float
type('Python')
str
type(True)
bool

Целые числа

В Python вы можете создавать целочисленные значения без ограничений на количество цифр. Ниже ** — оператор мощности.

long_integer = 12**34
print(long_integer)
4922235242952026704037113243122008064

Функция int() позволяет построить целое число из (совместимой) строки.

x = int('10')
print(x)
10
type(x)
int

При преобразовании из string в integer вы получите сообщение об ошибке, если строка, которую вы пытаетесь преобразовать, не представляет никаких чисел.

# this will not work: x = int('Python')

Плавает

Вещественные числа представлены с плавающей запятой в Python.

f = 18.87
print(f)
18.87

Если вы используете int() с числом с плавающей запятой, вы получите только целую часть этого числа.

f = int(18.87)
print(f)
18
type(f)
int

Мы можем использовать функцию float() для определения числа с плавающей запятой из (совместимой) строки.

f = float('18.87')
print(f)
18.87
type(f)
float

Струны

строка – это последовательность символов. В Python строки заключаются либо в одинарные, либо в двойные кавычки — неважно, какие из них вы используете. Тем не менее, мы рекомендуем использовать одинарные кавычки вместо двойных кавычек, так как вы можете создать их одним нажатием клавиши меньше!

s1 = "I love chocolate."
s2 = 'I love chocolate.'
print(s1)
print(s2)
I love chocolate.
I love chocolate.

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

s3 = "Let's learn some Python."
s4 = 'The most popular languages for data analysis are apparently "R" and "Python".'
print(s3)
print(s4)
Let's learn some Python.
The most popular languages for data analysis are apparently "R" and "Python".

Функция str() создает строку из других совместимых типов данных.

s5 = str('Python')
print(s5)
Python
type(s5)
str
s6 = str(18.87)
print(s6)
18.87
type(s6)
str

Начиная с Python 3.6, вы можете использовать f-strings для помещения других переменных в строки. Это очень удобно.

name = 'pi'
value = 3.14
print(f'The value of {name} is {value}.')
The value of pi is 3.14.

Функция find() возвращает начальный индекс заданной последовательности символов в строке. Если не найдено, возвращает -1.

print(s1.find('I'))
print(s1.find('we'))
0
-1

startswith() проверяет, начинается ли строка с определенной последовательности символов.

print(s1.startswith('I love'))
True

endswith() проверяет, заканчивается ли строка определенной последовательностью символов.

print(s1.endswith('.'))
True

count() подсчитывает количество вхождений последовательности символов в заданную строку.

print(s1.count('e'))
print(s1.count('ee'))
2
0

lower() преобразует любой верхний регистр в нижний, а upper() наоборот.

print(s1)
print(s1.lower())
print(s1.upper())
I love chocolate.
i love chocolate.
I LOVE CHOCOLATE.

Функция replace() заменяет одну подстроку на другую. Обратите внимание, что строки Python являются неизменяемыми, то есть вы не можете изменить строку после ее определения. Однако вы можете заменить подстроку и задать для вывода новую строку (возможно, исходную строку), как показано ниже.

s1.replace('I','We all')
# Python strings are immutable!
# You cannot change them in place
print(s1)
# But the following will change the string s1
s1= s1.replace('I','We all')
print(s1)
I love chocolate.
We all love chocolate.

Для других методов, доступных для строки (или любой другой структуры данных), вы можете использовать функцию автодополнения вкладкой в Jupyter Notebook. Просто определите строку, поставьте точку и нажмите кнопку tab.

st = 'aBc'
st.swapcase()
'AbC'

На самом деле строка имеет тип контейнера, поэтому вы можете объединить две строки, используя знак «+».

first_string = 'I love '
second_string = 'chocolate.'
print(first_string + second_string)
I love chocolate.

Булевы значения

Boolean представляет логические значения: True или False. Функция bool() возвращает либо True, либо False в зависимости от входного параметра. В частности, bool() всегда будет возвращать True, если только его входной параметр не является одним из следующих:

  1. Пустой (например, [] (пустой список), () (пустой кортеж), {} (пустой словарь))
  2. ЛОЖЬ
  3. Нет (это ключевое слово Python для неопределенных объектов)
  4. 0

ПРИМЕЧАНИЕ. Python – это язык программирования, чувствительный к регистру. Следовательно, допустимыми логическими значениями являются True и False, а не true или false.

bool(100)
True
bool(True)
True
bool([])
False
bool(False)
False
bool(None)
False
bool(0)
False

Нажмите, чтобы перейти к следующей главе

Проверьте https://www.featureranking.com/tutorials/ для получения дополнительных руководств.