Получи случайную криптовалюту за регистрацию!

Data Science FJTS

Логотип телеграм канала @ds_fjts — Data Science FJTS D
Логотип телеграм канала @ds_fjts — Data Science FJTS
Адрес канала: @ds_fjts
Категории: Технологии
Язык: Русский
Количество подписчиков: 93
Описание канала:

Data Sciense From Junior To Senior

Рейтинги и Отзывы

2.00

3 отзыва

Оценить канал ds_fjts и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

0

3 звезд

1

2 звезд

1

1 звезд

1


Последние сообщения

2023-02-09 12:42:07
Также можно сделать такой финт

pandarallel.initialize(progress_bar = True)
62 viewsDenis Semenov, 09:42
Открыть/Комментировать
2023-02-09 12:08:43 В предыдущем посте рассказывал, как отслеживать apply из pandas. Это довольно удобно, когда данных не очень много. НО бывают ситуации, когда progress_apply показывает, что обработка будет длится час … или два часа …. Что делать?

А делать нужно вот что:

from pandarallel import pandarallel
pandarallel.initialize()

df.parallel_apply(lambda x: x[‘val’]**2 , axis=1)


Очень удобно параллелить apply, потому что выполняется много независимых операций.
Но есть предупреждение: постарайтесь сделать так, чтобы каждому из процессов досталось примерно одинаковое количество данных. Так время между завершением первого чанка и последнего можно будет свести к минимому. Самый простой способ добиться этого - перемешать датафрейм.

А о каких способах ускорить apply знаете вы?
67 viewsDenis Semenov, 09:08
Открыть/Комментировать
2023-02-07 07:48:56 Есть даже поддержка встроенных циклов. Для красоты существует параметр leave, чтобы после завершения цикла прогресс-бар не оставался на экране:

from tqdm import tqdm

for i in tqdm(
range( 10 )):
for j in tqdm(
range( 100 ), leave = False):
do_some_freaky_stuff( ARR[ i ][ j ] )



Ну а сейчас будет что-то невероятное
TQDM можно использовать даже в APPLY !

df.progress_apply(lambda x: x**2)


P.S. для jupyter существует сабмодуль tqdm.notebook, который работает лучше и приятнее

Жду ваши реакции, если материал был полезен, и вы хотите больше обзоров на крутые инструменты
93 viewsDenis Semenov, 04:48
Открыть/Комментировать
2023-02-07 07:48:52
Всем продуктивного вторника)
Хочу расскать про must have библиотеку TQDM. Это крутой инструмент отслеживания итеративных процессов. Показывает сколько времени прошло с начала обработки, скорость работы, а также оставшееся время! Больше не нужно сидеть и смотреть в экран, вместо этого можно выпить кофе, ведь вы знаете, когда закончится процесс


Если вы хотите отслеживать прогресс, просто напишите

from tqdm import trange

for i in trange(100):
do_some_freaky_stuff( i )

Либа автоматически создаст прогресс-бар (кстати, в довольно приятном дизайне)

Обработка строк в файлах. Если tqdm не знает точно, сколько эл-тов нужно обработать, то выведет время работы и скорость. Но кол-во элементов можно добавить вручную. Наример:

import tqdm

with open(
"large_file.txt" ) as file:
total = sum( 1 for line in open( "large_file.txt" ) )
for line in tqdm(
file, total = total):
process(
line )
90 viewsDenis Semenov, edited  04:48
Открыть/Комментировать
2023-01-27 18:06:53 Ответ:
Давайте посмотрим на единичный интервал [0,1]. Если мы заполним этот интервал 100 точками, то получим плотность 100 точек / единицу объема. Если мы посмотрим на плоскость, то для ее заполнения с такой же плотностью потребуется 100^2 точек. А для 10 фичей будет нужно все 100^10 строчек в датафрейме.

Вопросы был такой: что такое проклятие размерности?
Простыми словами: по мере роста фичей или измерений в данных, объем данных (которые мы хотим наиболее точно обобщить) растет экспоненциально.
149 viewsDenis Semenov, edited  15:06
Открыть/Комментировать
2023-01-26 19:38:56 Не успели отойти от HackerRank, ловим 3 важные причины, почему каждому Data Scientist`у нужно решать задачки на LeetCode

Улучшение понимания алгоритмов и структур данных: на Leetcode есть широкий спектр задач, от базовых до продвинутых, которые помогут улучшить свое понимание алгоритмов и структур данных.

Подготовка к собеседованию: многие вопросы в Leetcode основаны на реальных примерах, что делает его отличной платформой для подготовки к собеседованиям при приеме на работу.

Практика на реальных примерах: платформа предлагает исчерпывающее объяснение каждой проблемы, а возможность увидеть решения других людей может быть очень полезной для понимания того, как применять знания для решения реальных проблем.

Пишите в комментариях, что думаете о Leetcode, и ставьте лайк, если вы задумались пойти порешать пару задачек
150 viewsDenis Semenov, 16:38
Открыть/Комментировать
2023-01-25 11:00:05 Data Science FJTS pinned «Всем привет!) Запускаю свой канал Data Science: From Junior To Senior, где буду рассказывать свой путь роста как специалиста , публиковать различные лайфхаки и интересные, мало освещенные аспекты работы Надеюсь, мой канал будет полезен все болшему…»
08:00
Открыть/Комментировать
2023-01-25 10:55:49 Хочу еще поделиться несколькими лайфхаками, полученными с HackerRank

считывание строки целых чисел в список

my_list = list( map( int, input().split() ) )

Считать ключ словаря и список значений с одной строки

name, *scores = input().split()
scores = list(
map( float, scores ) )
student_marks[name] = scores


Устойчивая ортировка по нескольким значениям

arr = sorted(
arr, key = lambda x: ( x[2], -x[1] ) )
147 viewsDenis Semenov, 07:55
Открыть/Комментировать
2023-01-25 10:32:52 Я решил больше 100 Python задач на HackerRank и почему это классно

Не секрет, что навык программирования важен для любого Data Scientista. HackerRank в плане подтягивания и выравнивания знаний - просто супер платформа. Обучающий курс состоит из модулей, модули из примерно 10 задач для усвоения. Вот мои любимые слева направо:

Collections - супер полезный модель. Хоть один контейнер отсюда использовал каждый. Тут изучаем Counter для подсчета кол-ва вхождений, defaultdict чтобы задать в словаре значение по умолчанию, OrderedDict чтобы сохранять порядок ключей в словаре, deque чтобы стоять сразу в двух очередях чтобы вставать в начало очереди “просто спросить” ну и другие)

Functionals - жизненно необходимые map, lambda, filter и reduce. Не представляю, как я вообще мог писать код без них.

Built-Ins - здесь изучаем zip чтобы брать элементы из нескольких списков, тот самый калькулятор eval , сортировки ну и any all

А также можно изучить классы, строки, математические операции, исключения, декораторы и даже numpy.

Не ждите удобного момента, начинайте решать задачки уже прямо сейчас. Решаются задачи в основном довольно быстро, можно выделять 1 час в день. Для того, чтобы закрыть основные пробелы - подходит супер, всем рекомендую.

Но, если честно, понравился не весь курс. Не знаю, почему, но вот Regex дается прям тяжело. На каком-то уровне прям отторжение всех этих r"^[+-]?[0-9]*\.[0-9]+$"

А какие еще ресурсы вы знаете, где можно бесплатно на практике учиться тонкостям языка? Ставьте реакции и пишите в комментариях
140 viewsDenis Semenov, edited  07:32
Открыть/Комментировать
2023-01-25 10:32:50
110 viewsDenis Semenov, 07:32
Открыть/Комментировать