2015-04-02 2 views
3

Я пытаюсь использовать pandas.Series.value_counts для получения частоты значений в фреймворке данных, поэтому я просматриваю каждый столбец и получаю value_count, что дает мне серию :конвертировать строку, возвращаемую pandas.Series.value_counts в словарь

Я изо всех сил, чтобы превратить эту результирующую серию в Словаре:

groupedData = newData.groupby('class') 
for k, group in groupedData: 
    dictClass[k] = {} 
    for eachlabel in dataLabels: 
     myobj = group[eachlabel].value_counts() 
     for eachone in myobj: 
      print type(myobj) 
      print myobj 

The snippet

то, что мне нужно, это ДИКТ:

{ 'высокий': 3909, 'средний': 3688, 'меньше': «182, 'veryless': 62}

ответ

16

Если вы хотите конвертировать Series в dict, вы могли бы назвать dict или .to_dict():

>>> s 
high  3909 
average  3688 
less   182 
veryless  62 
dtype: int64 
>>> type(s) 
<class 'pandas.core.series.Series'> 
>>> dict(s) 
{'high': 3909, 'average': 3688, 'veryless': 62, 'less': 182} 
>>> s.to_dict() 
{'high': 3909, 'average': 3688, 'veryless': 62, 'less': 182} 
Смежные вопросы