大熊猫系列的频率分布

时间:2014-03-20 14:16:14

标签: pandas

我们说我有一个熊猫系列:

>> t.head()

Timestamp
2014-02-01 05:43:26    35.592899
2014-02-01 06:18:32    33.898003
2014-02-01 10:04:04    33.898003
2014-02-01 10:36:30    35.592899
2014-02-01 12:20:32    40.677601

我想要的是一个带有我可以设置的箱子的频率表。这听起来很容易,但我最接近的是通过matplotlib

In [8]: fd = plt.hist(t, bins=range(20,50))

In [9]: fd
Out[9]: 
(array([ 0,  0,  1,  0,  0,  3,  0,  3,  1,  0,  8,  0, 11, 20,  0, 18,  0,
       19,  6,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0]),
 array([20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
       37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]),
 <a list of 29 Patch objects>)

但当然实际上绘制了直方图。我可以找到关于如何绘制直方图的建议,而不是如何简单地形成频率分布;从上面我有&#39;箱子&#39;如fd [1](或至少是它们的下界)和值为fd [0]。

我想要自己的频率分布,以便以后形成一个具有多个系列分布的数据帧(所有具有相同的分档)。我觉得必须有一种方法可以在没有matplotlib的情况下做到这一点?

更新:期望的结果:

{'Station1': 20     0
21     0
22     1
23     0
24     0
25     3
26     0
27     3
28     1
29     0
30     8
31     0
32    11
33    20
34     0
35    18
36     0
37    19
38     6
39     0
40     2
41     0
42     0
43     0
44     0
45     0
46     0
47     0
48     0
dtype: int32}

这些是风速:一旦我从许多不同的会议站获得类似的数据,我希望能够形成一个数据框,其中作为索引的列和作为频率的列。 distrs。

VALUE_COUNTS()

我确实考虑过价值计数,它给了我这个:

33.898003    20
37.287800    19
35.592899    18
32.203102    11
30.508202     8
38.982700     6
27.118401     3
25.423500     3
40.677601     2
28.813301     1
22.033701     1
dtype: int64

数据本身显然是A / D转换的:假设下一个会议站有不同的索引,例如33.898006而不是33.898003,那么我将获得一个新的&#39; bin&#39;只是为了那个 - 我想保证每个数据集的箱子是相同的。

0 个答案:

没有答案