2012-04-13 31 views
3

我試圖通過它們的概率索引數據(用簡單的直方圖估計)。目標是以小於某個閾值的概率選擇系列中的項目。熊貓:索引數據的直方圖結果

我有一系列的整數值,例如:

import pandas as pnd 
import numpy as np 

series = pnd.Series(np.random.poisson(5, size = 100)) 

然後我計算其直方圖這樣的:

tmp = {"series" : series, "count" : np.ones(len(series))} 
hist = pnd.DataFrame(tmp).groupby("series").sum() 
freq = hist/hist.sum() 

所以現在我有每個結果的通過結果索引的頻率,以及一系列結果。我現在有兩個問題:

  • 是否存在被結果/頻率由freq定義的映射方式索引series
  • 如果我設法做到這一點,我該如何選擇頻率大於某個值的結果?

謝謝。

回答

3

是,使用map系列方法:

In [16]: series.map(freq['count']) 
Out[16]: 
0  0.12 
1  0.06 
2  0.20 
3  0.11 
4  0.02 
5  0.13 
6  0.14 
7  0.11 
8  0.12 
9  0.16 
10 0.20 
<snip> 

那麼你可以做:

In [22]: series[series.map(freq['count']) > 0.16] 
Out[22]: 
2  4 
10 4 
11 4 
22 4 
27 4 
31 4 
34 4 
56 4 
64 4 
71 4 
73 4 
76 4 
77 4 
79 4 
80 4 
86 4 
88 4 
89 4 
91 4 
99 4 
+0

姆!尼斯!謝謝。 – 2012-04-16 16:27:49