#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
💫🆚🐼 Pyspark. Анализ больших данных, когда Pandas не достаточно

Pandas - одна из наиболее используемых библиотек Python с открытым исходным кодом для работы со структурированными табличными данными для анализа. Однако он не поддерживает распределенную обработку, поэтому вам всегда придется увеличивать ресурсы, когда вам понадобится дополнительная мощность для поддержки растущих данных.

И всегда наступит момент, когда ресурсов станет недостаточно. В данной статье мы рассмотрим, как PySpark выручает в условиях нехватки мощностей для обработки данных.

👆🏻Читать...
#python
🗞⚠️ types.MappingProxyType

Доступный только для чтения словарь. По своей сути — Read-only обертка для словаря. Данные считывать можно, а менять — нельзя.

#python
🔢▶️ from enum import Enum

Библиотека для создания именованных перечислений. Признайте, что намного проще понять STATUS_CODE.ACCEPTED, чем просто 202.

Несмотря на свою простоту, у модуля огромный функционал. Если у вас в коде есть магические числа (1, 2, 3, 4), то воспользуйтесь enum.

#python
🔥🔄 Ускоряем цикл в Python в 33000 раз
python почти всегда позволяет решить одну задачу разными способами, тут-то самое время вспомнить о map!
Многие утверждают, что map более безопасный, быстрый, и вообще - это база. Проверим? Сгенерируем тренировочный список из 100000 отрицательных и положительных чисел.

lst = random.sample(range(-10000000, 10000000), 100000)

🟢 А теперь воспользуемся тремя методами и применим к списку встроенную функцию abs.

- For Loop
lst_pos = []
for i in lst:
lst_pos.append(abs(i))
Время работы: 7.98 ms.

- List Comprehension
lst_pos = [abs(i) for i in lst]
Время работы: 5.07 ms.

- Map
lst_pos = map(abs, lst)
Время работы: 419 ns.

Феноменально, при работе со встроенными функциями, map не просто в лидерах, он в 12000 раз быстрее! Может остальные методы нам и вовсе не нужны?

🔵 Давайте проверим map на невстроенных функциях, например, возведем элементы в квадрат.

- For Loop затратит 23 ms.
- List Comprehension - 20.9 ms.
- Map (используем lambda):
map(lambda x: x**2, lst)
Время работы: 628 ns.

Это ли не чудо? Map быстрее в 33000 раз! Мы вам скажем, по секрету, что map вообще-то не очень жалует использование lambda (это несколько снижает скорость). А если бы мы преобразовали возвращаемый map объект в список, то затраченное время стало бы примерно таким же, как у list comprehension. Но! Map очень любит работать с готовыми функциями, в том числе с определенными пользователем. Поэтому напишем функцию pow2, которая принимает x и возводит его в квадрат - x * x.

- List Comprehension:
[pow2(x) for x in lst]
Время: 8.6 ms.

- Map
map(pow2, lst)
Время: 401 ns.

Никого уже, наверное, не удивляет, map опять быстрее, в 20000 раз. Причем обратите внимание, ускорилась работа list comprehension - 8.6 ms против 20.9 ms, хотя делали мы одно и то же, просто разными способами. Берем на заметку!

🟣 Последнее, что мы еще не проверили, это добавление условий. Допустим, в результирующем списке должны быть только те числа, квадраты которых кратны 8.

- For Loop отработает за 26.3 ms.
- List Comprehension за 25.8 ms.
- Map, увы, не позволит сделать нам ничего подобного. Она может невероятно быстро применить функцию к каждому элементу массива, но удалить элемент - не может. Для таких случаев есть filter:
filter(lambda x: x**2 % 8 == 0, lst)
И время: 542 ns.

Ну что же, можно забывать про list comprehension и циклы, зачем они вообще нужны, когда есть map и filter, которые всегда в тысячи раз быстрее. Да?

Нет! Наверняка, знакомые с функцией map, уже хотят подловить нас на обмане. А именно, map никогда не возвращает список, только map object, и это именно то, что отличает его от “конкурентов” и позволяет map оставаться впереди.

Да, ни в одном из наших примеров, мы не формировали из возвращаемого map object - список. Это существенно замедлило бы работу map, но даже если сделали бы - map все равно остался бы быстрее приблизительно в 1,5 - 2 раза (опять же, кроме случаев с использованием lambda). Но если вам так же, не нужны все вычисляемые значения сразу - выбирайте map, и тоже будете быстрее в 33000 раз!

#python
🎓💻 Лучшие известные программисты всех времен

0️⃣ Изобретатель языка программирования Python, Ван Россум — один из известных программистов, оказавших неизгладимое влияние на мир программирования. Ван Россум вырос в Нидерландах, и там же он получил образование. Он получил степень магистра математики и информатики в Амстердамском университете. Не только в Python, Ван Россум также внес свой вклад в развитие языка ABC. В 1989 году он разработал Python, когда искал хобби-проект, чтобы провести выходные. Так работают гении?

1️⃣ Финно-американский программист Линус Торвальдс - создатель ядра Linux и системы управления версиями Git. В 1994 году Торвальдс презентовал перед студентами Хельсинкского университета Linux 1.0 (её исходники лежат на kernel.org). Этот был первый стабильный релиз, пригодный для коммерческого использования. Предыдущие версии OC с завидной регулярностью выдавали баги, но теперь всё изменилось.
В 2014 году самый популярный дистрибутив Ubuntu отчитался, что его используют 22 миллиона пользователей. Linux стала самой популярной не только в коммерческой среде, но и в сфере высших достижений. Все самые мощные машины из рейтинга топ-500 суперкомпьютеров работают на Linux.
Сегодня всего устройств на Linux насчитывается от 3 до 3,5 миллиардов. Так что дело Торвальдса точно можно назвать успешным.

#python
🦎🤖 Lambda – функции

Сегодня пробуем на вкус еще одну фишку питона. Показываем, как ее использовать и с чем сочетать, чтобы стало еще вкуснее.
#python
Python_и_DevOps_Ключ_к_автоматизации_Linux_2022_Ной_Гифт,_Кеннеди.pdf
8.1 MB
📙🦖🐧 Python и DevOps: Ключ к автоматизации Linux
Авторы: Ной Гифт, Кеннеди Берман, Альфредо Деза, Григ Георгиу. 2022

За последнее десятилетие технологии сильно изменились. Данные стали хитом, облака — вездесущими, и всем организациям понадобилась автоматизация. В ходе таких преобразований Python оказался одним из самых популярных языков программирования.

Это практическое руководство научит вас использовать Python для повседневных задач администрирования Linux с помощью наиболее удобных утилит DevOps, включая Docker, Kubernetes и Terraform.

#python
📃3️⃣ принципа написания чистого кода на Python

Порядок в коде начинается не с кода

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

👉 Читать статью

#python
🔖📌 Query JSON

JMESpath – это язык запросов для JSON, который позволяет получать необходимые данные из документа или словаря JSON.

Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.
#python
⬇️📑 importlib

Библиотека появилась в Python 3.1 и реализует функцию __import__().
importlib применяется не так часто и нужен только при работе с модулями.

#python
🔖📑
typing import TypedDict

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

📌 PEP 589

#python
🔖📌 Шпаргалка по алгоритмам (big O)

#python
♒️🔀 Многопоточность и Многопроцессорность

В данном курсе мы рассмотрим модули Threading, Multiprocessing и научимся писать программы на их основе.

📺 Просмотр

#python
📜🧧Подготовка к Python сертификации PCAP

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

Каково проходить сертификацию спустя 3 года разработки на языке. Какие материалы использовать и на что обращать внимание. Он рассчитывает, что этот пост будет претворять статью о том, как он успешно сдал этот тест и что из него извлёк.

👆🏻 Читать

#python