2017-04-15 32 views
1

例如,我的df是{'a','a','a','b'}。我想將它轉換爲{0.75,0.75,0.75,0.25}。它基本上是水平和總觀測數量的比值。我的變量有46個等級。有沒有辦法循環它?如何將分類變量轉換爲其頻率。

回答

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