Представляем DuckDB
Если вы работаете с анализом данных в Python, скорее всего, вы используете такие библиотеки, как Pandas, NumPy и SQL. Но если ваши наборы данных становятся слишком большими для оперативной памяти или вы хотите более эффективную обработку, стоит обратить внимание на DuckDB — встроенную колонко-ориентированную СУБД, идеально подходящую для аналитических задач.
DuckDB позволяет запускать SQL-запросы прямо в Python, работать с DataFrame, Parquet, CSV и другими источниками данных без необходимости в отдельном сервере БД. Он прост в установке, кроссплатформенный и совместим с Pandas.
Основные фишки DuckDB:
- SQL-интерфейс, работающий с Pandas DataFrame, Arrow, Parquet и др.
- Высокая производительность благодаря колонко-ориентированному движку.
- Поддержка сложных SQL-запросов, включая оконные функции и CTE.
- Отсутствие необходимости в сервере — всё работает локально и быстро.
Пример использования:
Вы также можете напрямую читать файлы:
DuckDB отлично справляется с задачами типа:
- Быстрый SQL-анализ локальных файлов
- Встраивание SQL в Python без необходимости запускать Postgres/MySQL
- Обработка больших таблиц без загрузки всего в память
https://realpython.com/python-duckdb/
#python
👉 @python_real
Если вы работаете с анализом данных в 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
🧼 Методы
Работая с текстом в Python, часто нужно удалить лишние пробелы или символы с краёв строки. Именно для этого существуют методы
Основы
По умолчанию эти методы удаляют пробелы, переводы строк, табуляции и другие пробельные символы.
Удаление определённых символов
Можно передать в метод строку с символами, которые нужно удалить:
Важно: метод удаляет все указанные символы, а не подстроку. То есть
Применение в реальной жизни
- Очистка данных перед обработкой.
- Удаление лишних символов после парсинга.
- Нормализация пользовательского ввода.
Совет
Если нужно удалить только начало или только конец строки — используй
https://realpython.com/python-strip/
#python
👉 @python_real
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