Реальный Python
3.83K subscribers
813 photos
10 videos
7 files
861 links
Все о пайтон, новости, подборки на русском и английском. По всем вопросам @evgenycarter
Download Telegram
Представляем DuckDB

Если вы работаете с анализом данных в Python, скорее всего, вы используете такие библиотеки, как Pandas, NumPy и SQL. Но если ваши наборы данных становятся слишком большими для оперативной памяти или вы хотите более эффективную обработку, стоит обратить внимание на DuckDB — встроенную колонко-ориентированную СУБД, идеально подходящую для аналитических задач.

DuckDB позволяет запускать SQL-запросы прямо в Python, работать с DataFrame, Parquet, CSV и другими источниками данных без необходимости в отдельном сервере БД. Он прост в установке, кроссплатформенный и совместим с Pandas.

Основные фишки DuckDB:

- SQL-интерфейс, работающий с Pandas DataFrame, Arrow, Parquet и др.
- Высокая производительность благодаря колонко-ориентированному движку.
- Поддержка сложных SQL-запросов, включая оконные функции и CTE.
- Отсутствие необходимости в сервере — всё работает локально и быстро.

Пример использования:


import duckdb
import pandas as pd

df = pd.read_csv("data.csv")
result = duckdb.query("SELECT column1, AVG(column2) FROM df GROUP BY column1").to_df()


Вы также можете напрямую читать файлы:


result = duckdb.query("SELECT * FROM 'data.parquet' WHERE value > 100").to_df()


DuckDB отлично справляется с задачами типа:

- Быстрый SQL-анализ локальных файлов
- Встраивание SQL в Python без необходимости запускать Postgres/MySQL
- Обработка больших таблиц без загрузки всего в память


https://realpython.com/python-duckdb/

#python

👉 @python_real
👍6
🧼 Методы strip(), lstrip() и rstrip() в Python: удаление пробелов и символов

Работая с текстом в Python, часто нужно удалить лишние пробелы или символы с краёв строки. Именно для этого существуют методы strip(), lstrip() и rstrip().

Основы


text = " hello world "
print(text.strip()) # 'hello world'
print(text.lstrip()) # 'hello world '
print(text.rstrip()) # ' hello world'


По умолчанию эти методы удаляют пробелы, переводы строк, табуляции и другие пробельные символы.

Удаление определённых символов

Можно передать в метод строку с символами, которые нужно удалить:


text = ".,!?hello world!?.,"
print(text.strip(".,!?")) # 'hello world'


Важно: метод удаляет все указанные символы, а не подстроку. То есть strip("abc") удалит все a, b и c, а не строку "abc".

Применение в реальной жизни

- Очистка данных перед обработкой.
- Удаление лишних символов после парсинга.
- Нормализация пользовательского ввода.

Совет

Если нужно удалить только начало или только конец строки — используй lstrip() или rstrip() соответственно.

https://realpython.com/python-strip/

#python

👉 @python_real
👍6