2012-04-13 128 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