如何将分类变量转换为其频率。

时间:2017-04-15 23:59:21

标签: python-2.7 pandas

例如,我的df是{'a','a','a','b'}。我想将其转换为{0.75,0.75,0.75,0.25}。它基本上是水平计数和总观测数之比。我的变量有46个级别。有办法循环吗?

1 个答案:

答案 0 :(得分:2)

假设我有一个系列s

s = pd.Series(list('aaab'))
s

0    a
1    a
2    a
3    b
dtype: object

然后将pd.value_countsnormalize参数一起使用并映射结果

s.map(s.value_counts(normalize=True))

0    0.75
1    0.75
2    0.75
3    0.25
dtype: float64