Numpy Bincount () с объединенными массивами типа float и int - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь написать программу для сбора статистических данных о биржевых торгах. У меня есть массив цен и соответствующий массив с количеством сделок по каждой цене. Я задал вопрос ранее и получил несколько хороших ответов, чтобы вывести меня на правильный путь. Теперь я нахожу новые проблемы.

Массивы выглядят примерно так:

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 и, наконец, получаю разнообразную информацию изновый массив. Кажется, что каждый метод предлагает небольшую функциональность, которая лучше подходит для одной точки данных, чем для другой. Если это поможет, я имею дело с десятками тысяч точек данных, поэтому использование памяти и скорость являются проблемой.

Я ценю любую помощь и заранее всех благодарю!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...