Форум программистов, компьютерный форум, киберфорум
VistaSV30
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Python для data science /Васильев Ю, 2023 - Мой конспект

Запись от VistaSV30 размещена 17.10.2023 в 11:33
Показов 1402 Комментарии 0

Структуры данных
Кликните здесь для просмотра всего текста
Очередь реализует метод "Первым вошел — первым вышел" (FIFO, first-in, first-out)
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
# Реализация очереди (стр.43)
from collections import deque
my_list = list(range(10, 21))
queue = deque(my_list)  # queue - англ. очередь
 
for i in range(21, 30):
    queue.append(i)
    print(queue.popleft(), '-', list(queue))
    
for _ in range(5):
    print(queue.popleft(), '-', list(queue)))

Стек реализует метод "Последним вошел, — первым вышел" (LIFO, last-in, first-out)
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
# Стек
stak = list(range(10, 21))
    
while stak:
    print(stak.pop(), '-', stak)

Кортежи
Кликните здесь для просмотра всего текста
Интересно, почему слово "аптека" заменяется звездочками
Python
1
2
3
4
task_list = ['Pay bills', 'Tidy up', 'Walk the dog','Go to the ******cy','Cook dinner']
tm_list = ['8:00', '8:30', '9:30', '10:00', '10:30']
sched_list = [(tm, task) for tm, task in zip(tm_list, task_list)]
sched_list

Словари
Кликните здесь для просмотра всего текста
Метод setdefault() — удобный способ добавления новых данных в словарь. В качестве параметра он принимает пару «ключ — значение». Если указанный ключ уже существует, метод просто возвращает текущее значение этого ключа, а если не существует, setdefault() вставляет его в словарь с указанным значением.

NumPy
Кликните здесь для просмотра всего текста

Метрики отдельно по столбцам или колонкам
Кликните здесь для просмотра всего текста
Методы max, min, mean и др. с параметром axis=


Pandas
Кликните здесь для просмотра всего текста

.iloc[] .loc[] - доступ к элементам по порядку или по индексу
pd.concat([a, b], axis=0) - объединение фреймов a и b
Группировка
Кликните здесь для просмотра всего текста

Python
1
2
3
4
5
6
import numpy as np
import pandas as pd 
 
np.random.seed(0)
df = pd.DataFrame(np.random.randint (1, 3, (6, 4)), columns=list('ABCD'))
print(df)
Python
1
df.groupby('A')[['C','D']].prod() # sum, mean, median, var, std, count, max, min, prod
Python
1
df.agg({'A': ['sum', 'mean'], 'B' : ['std']})
Python
1
2
3
4
5
agg_func = {
    'B': ['sum', 'mean', 'median', 'min', 'max', 'std', 'var', 'prod']}
# agg_func = {'B': ['describe']}
 
df.groupby(['A']).agg(agg_func).round(2)



Объединение фреймов по ключу - Join или Merge
Кликните здесь для просмотра всего текста

Python
1
2
3
4
5
6
7
8
# Первый фрейм
import pandas as pd
import numpy as np
 
np.random.seed(3)
d1 = pd.DataFrame(np.random.randint(10, 99, size=(6, 4)), index = range(100, 106), columns=list('ABCD'))
d1.index.rename('id', inplace= True )
d1
Python
1
2
3
4
5
# Второй фрейм
np.random.seed(3)
d2 = pd.DataFrame(np.random.randint(10, 99, size=(4, 3)), index=range(105, 109), columns=list('EFG'))
d2.index.rename('id', inplace=True)
d2
Python
1
2
# Объединение - типы объединений: left, right, outer, inner
d1.join(d2, how='inner')
Merge
Объединение фреймов по указанным полям
При использовании join() можно указать столбец, по которому нужно проводить объединение, только из вызывающего датафрейма. А из другого датафрейма join() берет столбец индексов.
Python
1
d1.merge(d2, how='inner', left_on='A', right_on='E').set_index('E')
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru