#python #dataframe
Вопрос:
У меня есть эти данные Excel с движением цены и объемом торгов.
Используя mydf[mydf.columns[5]].resample('1Min').ohlc()
, я получаю данные OHLC, но не знаю, как получить объем торговли за каждую минуту. У меня в голове мало проблем:
- частота тика неравномерна (означает, что для какой-то конкретной минуты у меня может быть, скажем, размер выборки 100, а для других он может варьироваться до 120, поэтому .group() может не работать для меня)
- Функция OHLC автоматически решает предыдущую проблему, когда я составляю индекс даты и времени столбца G
- Могу ли я получить код, который на основе столбца «G» должен суммировать объем за конкретную минуту, а затем вычесть его из данных об объеме за предыдущую минуту, чтобы я получил точный объем торгов за эту конкретную минуту?
- Вот входные данные для ohlc
и результат, который я получаю, таков,
На данный момент меня не интересует CE.
Я просто хочу, чтобы в этот фрейм данных был добавлен еще один столбец с объемом для каждого значения минуты.
Комментарии:
1. Является ли время полностью одинаковым или отличается на микросекунду? Я все еще пытаюсь понять, почему существует так много повторяющихся значений.
2. да, они не являются дубликатами, и данные меняются на уровне микросекунд, иногда только цена, иногда как объем, так и цена. Из-за только формата HH:MM:SS он выглядит как дубликат.
3. Без наличия данных для тестирования было бы трудно отлаживать. Я предлагаю вам сначала рассчитать объем с помощью функции diff, чтобы совокупный объем был изменен на фактический объем в то время. После этого используйте ресамплер и ohlc точно так же, как вы пытаетесь.
4. Сомнения, которые я испытываю при выполнении sum с использованием («объем»:сумма(x[«объем»]) для некоторой определенной длины «x», заключаются в том, что она варьируется для данных за 1 минуту. Как мне убедиться, что я суммирую данные только за 1 минуту.