tgoop.com/dsproglib/6246
Create:
Last Update:
Last Update:
Apache Arrow — это колонный формат данных, предназначенный для эффективной обработки и обмена данными между различными инструментами. Он поддерживает быстрое чтение и запись данных, что делает его идеальным для работы с большими объемами информации.
Для начала работы с Arrow необходимо установить библиотеки pyarrow
и pandas
:
pip install pyarrow pandas
Основные операции:
1. Создание таблицы
Создадим таблицу с двумя колонками:
import pyarrow as pa
teams = pa.array(['Barcelona', 'Real Madrid', 'Rayo Vallecano', 'Athletic Club', 'Real Betis'], type=pa.string())
goals = pa.array([30, 23, 9, 24, 12], type=pa.int8())
team_goals_table = pa.table([teams, goals], names=['Team', 'Goals'])
Преобразуем её в Pandas DataFrame:
df = team_goals_table.to_pandas()
2. Чтение и запись Parquet
Arrow поддерживает работу с форматом Parquet, который оптимизирован по памяти:
import pyarrow.parquet as pq
# Запись в Parquet
pq.write_table(team_goals_table, 'data.parquet')
# Чтение из Parquet
table = pq.read_table('data.parquet')
3. Операции с данными
Сравним два массива:
import pyarrow.compute as pc
a = pa.array([1, 2, 3, 4, 5])
b = pa.array([1, 3, 3, 4, 5])
pc.equal(a, b)
Суммируем элементы массива:
pc.sum(a)
4. Группировка и агрегация
Группируем данные по команде и считаем сумму голов:
table = pa.table({'Team': ['Barcelona', 'Real Madrid'], 'Goals': [30, 23]})
table.group_by('Team').aggregate([('Goals', 'sum')])
Библиотека дата-сайентиста #буст