我在一些情節和統計工作中工作,我不知道如何使用numpy做一些統計信息:我有一個價格列表和另一個basePrices。我想知道有多少價格高於basePrice的百分之X,有多少百分比高於basePrice的Y百分比。numpy的統計信息
有沒有簡單的方法來做到這一點使用numpy?
我在一些情節和統計工作中工作,我不知道如何使用numpy做一些統計信息:我有一個價格列表和另一個basePrices。我想知道有多少價格高於basePrice的百分之X,有多少百分比高於basePrice的Y百分比。numpy的統計信息
有沒有簡單的方法來做到這一點使用numpy?
說你有
>>> prices = array([100, 200, 150, 145, 300])
>>> base_prices = array([90, 220, 100, 350, 350])
然後價格是基礎價格之上10%以上是
>>> sum(prices > 1.10 * base_prices)
2
除了DF的答案,如果你想知道具體的數目價格高於基準價格,你可以這樣做:
價格[價格>(1.10 * base_prices)]
我不認爲你需要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
只是爲了取樂,這裏有一個稍微不同的看法上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
哦,我覺得還有一些比這更復雜的東西。看起來不錯。謝謝,dF! – hyperboreean 2009-02-20 16:17:35
你應該接受這個答案。 – 2011-09-30 15:30:20