В данных о торговле часто встречаются повторные покупки одной и той же криптовалюты, при этом цены и количества могут различаться. Если мы хотим подсчитать общую сумму, общую цену и взвешенную среднюю цену для каждой криптовалюты, нам необходимо обработать и рассчитать данные. В этой статье мы рассмотрим два метода — с использованием Excel и Python, чтобы помочь вам достичь этой цели.
Пример данных
Предположим, у нас есть данные о торговле, включающие следующие поля:
- Время: время сделки
- Криптовалюта: приобретенная криптовалюта
- Направление сделки: покупка (BUY) или продажа (SELL)
- Цена за единицу: цена одной единицы криптовалюты
- Количество: количество покупаемых единиц
- Общая цена: общие расходы на покупку криптовалюты (Цена за единицу × Количество)
Пример данных:
Время | Криптовалюта | Направление сделки | Цена за единицу | Количество | Общая цена |
---|---|---|---|---|---|
2024/2/29 10:26 | ARKM | BUY | 2.2753 | 94 | 213.8782 |
2024/2/29 10:26 | ARKM | BUY | 2.2748 | 4 | 9.0992 |
2024/2/29 10:26 | ARKM | BUY | 2.2749 | 50 | 113.745 |
2024/2/29 10:25 | EDU | BUY | 0.91094 | 13 | 11.8422 |
2024/4/7 12:39 | ENA | BUY | 1.194 | 1687.05 | 2014.3377 |
Или, как показано на следующем изображении:
Мы должны подсчитать:
- Общее количество покупок для каждой криптовалюты.
- Общую цену покупок для каждой криптовалюты.
- Взвешенную среднюю цену для каждой криптовалюты, т.е.
(Цена за единицу * Количество) / Всего
.
Метод 1: Расчет с помощью Excel
Функция сводной таблицы в Excel отлично подходит для группировки данных, но в ней отсутствует встроенная функция для расчета взвешенной средней цены. Поэтому нам нужно немного изменить процесс:
Шаг 1: Создание сводной таблицы
- Откройте файл Excel и убедитесь, что данные правильно отформатированы.
- Выберите всю область данных (включая заголовки), затем нажмите Вставка -> Сводная таблица.
- В появившемся окне выберите Новый лист, затем нажмите ОК.
Шаг 2: Настройка полей сводной таблицы
- Перетащите Криптовалюту в область Строки.
- Перетащите Количество и Общую цену в область Значения и убедитесь, что для них выбрана агрегация по сумме (по умолчанию выбрана сумма).
Таким образом, вы получите общее количество и общую цену для каждой криптовалюты.
Шаг 3: Вычисление взвешенной средней цены
- Создайте рядом со сводной таблицей новый столбец для расчета взвешенной средней цены.
- Предположим, что Общая цена находится в колонке G, а Количество в колонке F, тогда в первой ячейке нового столбца (предположим, H2) введите следующую формулу:
1
=G2/F2
- Скопируйте эту формулу в нижние ячейки, чтобы получить взвешенную среднюю цену для каждой криптовалюты.
Полный пример сводной таблицы
Криптовалюта | Общее количество | Общая цена | Взвешенная цена |
---|---|---|---|
ARKM | 529 | 1070.349 | 2.024 |
EDU | 1004.3 | 915.561 | 0.912 |
ENA | 5636.82 | 7639.734 | 1.353 |
В итоге таблица будет выглядеть так:
Метод 2: Расчет взвешенной средней цены с помощью Python
Если вы предпочитаете использовать Python для автоматизации расчетов, вы можете воспользоваться библиотекой pandas
для обработки данных. Вот полный скрипт на Python, который поможет вам подсчитать общее количество покупок, общую цену и взвешенную среднюю цену для каждой криптовалюты.
Шаг 1: Установка библиотеки pandas
Если вы еще не установили библиотеку pandas
, вы можете сделать это с помощью следующей команды:
|
|
Шаг 2: Скрипт на Python
|
|
Объяснение:
- Чтение данных: с помощью функции
read_excel()
библиотекиpandas
происходит чтение Excel файла. - Вычисление взвешенной цены: рассчитывается взвешенная цена для каждой сделки как
Цена за единицу * Количество
. - Группировка по криптовалюте: происходит группировка данных по столбцу Криптовалюта и вычисление Общего количества и Общей цены (сумма взвешенных цен).
- Вычисление взвешенной средней цены: вычисляется взвешенная средняя цена как Общая цена / Общее количество.
- Вывод результата: с помощью
to_excel()
результат сохраняется в новый Excel файл.
Результат
Криптовалюта | Общее количество | Общая цена | Средняя цена |
---|---|---|---|
ARKM | 529 | 1070.349 | 2.024 |
EDU | 1004.3 | 915.561 | 0.912 |
ENA | 5636.82 | 7639.734 | 1.353 |
Заключение
- Метод Excel: с помощью сводной таблицы и ручного расчета взвешенной средней цены вы можете быстро выполнить подсчеты для каждой криптовалюты.
- Метод Python: с использованием библиотеки
pandas
вы можете более гибко обрабатывать данные и автоматически генерировать результаты, что особенно полезно при большом объеме данных.
Выберите метод, который лучше подходит для вас, и если у вас есть вопросы или вам нужно внести дополнительные изменения, не стесняйтесь обращаться ко мне!