Статистика с NumPy

1

Я работаю над некоторыми графиками и статистикой для работы, и я не уверен, как я могу сделать некоторые статистические данные с использованием numpy: у меня есть список цен и еще один из basePrices. И я хочу знать, сколько цен с X процентами выше basePrice, сколько с Y процентов выше basePrice.

Есть ли простой способ сделать это с помощью numpy?

Теги:
numpy

4 ответа

8

Скажите, что у вас

>>> prices = array([100, 200, 150, 145, 300])
>>> base_prices = array([90, 220, 100, 350, 350])

Тогда количество цен, превышающих базовую цену более чем на 10%,

>>> sum(prices > 1.10 * base_prices)
2
  • 0
    О, я думал, что есть что-то более сложное, чем это. Выглядит достаточно хорошо. Спасибо, дф!
  • 1
    Вы должны принять этот ответ.
2

Просто для развлечения, вот немного другой ответ на dF:

>>> prices = array([100, 200, 150, 145, 300])
>>> base_prices = array([90, 220, 100, 350, 350])
>>> ratio = prices / base_prices

Затем вы можете извлечь число, которое на 5% выше, 10% выше и т.д. с помощью

>>> sum(ratio > 1.05)
2
>>> sum(ratio > 1.10)
2
>>> sum(ratio > 1.15)
1
1

В дополнение к ответу df, если вы хотите узнать конкретные цены, которые выше базовых цен, вы можете сделать:

цены [цены > (1.10 * base_prices)]

0

Я не думаю, что вам нужно numpy...

prices = [40.0, 150.0, 35.0, 65.0, 90.0]
baseprices = [45.0, 130.0, 40.0, 80.0, 100.0]
x = .1
y = .5

# how many are within 10%
len([p for p,bp in zip(prices,baseprices) if p <= (1+x)*bp]) # 1

# how many are within 50%
len([p for p,bp in zip(prices,baseprices) if p <= (1+y)*bp]) # 5
  • 0
    Да, вы правы, я сказал numpy, потому что я собирался использовать их реализацию массива, который кажется быстрее. У меня около 800 тысяч цен, поэтому я надеюсь получить прирост скорости, используя это. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню