我试着用它们的概率来索引数据(用一个简单的直方图来估计)。目标是在序列中选择概率小于某个阈值的项。
我有一系列整数值,例如:
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()
所以现在我得到了每个结果的频率,由结果索引,以及一系列结果。我现在有两个问题:
是否有方法通过映射由
series
定义的结果/频率来索引freq
?如果我能做到这一点,我该如何选择频率大于某个值的结果?
谢谢。
最佳答案
是,使用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
关于python - Pandas :通过直方图结果索引数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10145025/