Я пытаюсь написать программу для сбора статистических данных о биржевых торгах. У меня есть массив цен и соответствующий массив с количеством сделок по каждой цене. Я задал вопрос ранее и получил несколько хороших ответов, чтобы вывести меня на правильный путь. Теперь я нахожу новые проблемы.
Массивы выглядят примерно так:
price = [229.0, 229.3, 229.0, 229.1, 228.9, 229.0, 229.1]
tradesize = [400, 800, 450, 65, 2, 600, 150]
Я пытался использовать различные методы, чтобы получить режим и медиану с минимальным успехом. Я продолжал сталкиваться с контрольно-пропускными пунктами с пандами и превратился в бесчисленное множество. Сначала я пытался получить сумму отдельных ценовых точек, используя цену в качестве индекса в данных, и получая сумму другого столбца с помощью:
newarray = groupby['price'].sum()
. Это дало мне хороший массив, который выглядел как-тонапример:
228.9, 2
229.0, 1450
229.1, 215
229.3, 800
Это сработало хорошо, но я продолжал сталкиваться с проблемами извлечения столбца цен.
Моя следующая идея заключалась в том, чтобы использовать np.bincount()
для подсчета количества сделок по каждой цене. точка. У меня проблемы с TypeError: Cannot cast array data from dtype('float64') to dtype('int64') according to the rule 'safe'
. Когда я изменяю цену на целое, она работает хорошо, но ошибка округления делает код по существу бесполезным.
Я не уверен, что смогу получить нужные мне данные без суммирования количества продаж в каждой ценовой точке,Например, я посмотрел на np.argmax()
, но быстро понял, что это дало только первый по величине размер сделки, и действительно потерпел неудачу, если комбинированные сделки добавили более высокое значение, такое как 229,3 и 229,0 пункта в моем примере выше.
Я не женат на каком-либо конкретном методе, поскольку извлекаю данные из CSV-файла в виде фрейма данных pandas, получаю из него различную информацию, преобразую его в массив pandas и, наконец, получаю разнообразную информацию изновый массив. Кажется, что каждый метод предлагает небольшую функциональность, которая лучше подходит для одной точки данных, чем для другой. Если это поможет, я имею дело с десятками тысяч точек данных, поэтому использование памяти и скорость являются проблемой.
Я ценю любую помощь и заранее всех благодарю!