【发布时间】:2015-09-07 15:22:39
【问题描述】:
我有两个数据集,第一个是离散数据,第二个是连续数据:
import numpy as np
# discrete
data1 = [1, 1, 2, 2, 2, 3, 4, 4,7, 7, 7, 7, 7, 7]
# continuous
data2 = np.random.normal(size=100)
现在我想计算频率。 data1 很简单,因为它包含离散值:
import collections
c = collections.Counter(data1)
sum = sum(c.values())
for key,val in c.iteritems():
print([key,float(val)/sum])
我怎样才能对连续数字做同样的事情?从理论上我知道必须对连续数据进行分组。只有在此之后,它才能表示为条形图。那么,如何在python中对数据进行分组呢?
【问题讨论】:
-
你是受限于 NumPy,还是可以使用 pandas?
-
@ajcr:这只是一个例子。所以,如果想看看如何使用 pandas 会很高兴
-
你要
value_counts吗? -
查看
numpy.histogram获取连续数据。同样,您可以将numpy.bincount用于离散数据。