2014-11-20 7 views
0

У меня есть серия ["A","B","B","C","A"].Конвертировать серии в список словарей в пандах

Я рассчитываю частоту каждого уникального элемента с помощью pandas.Series.value_counts, который также возвращает Серия: ["A":2,"B":2,"C":1]

Я хочу, чтобы преобразовать эту серию в список словарей [{A:2},{B:2},{C:1}]. Однако ни to_dict, ни to_records не дают мне желаемого результата. Какая альтернатива?

ответ

3

Я не думаю, что любой метод типа преобразования в панд для серии или DataFrames будет производить именно выход вы после этого.

Вы можете просто корректировать результат to_dict() со списком понимания:

>>> counts = pd.value_counts(series).to_dict() 
>>> [{u: v} for (u, v) in counts.iteritems()] 
[{'A': 2}, {'C': 1}, {'B': 2}] 
0

вам нужно counter

>>> from collections import Counter 
>>> [ {x:y} for x,y in Counter(["A","B","B","C","A"]).items() ] 
[{'A': 2}, {'C': 1}, {'B': 2}] 
+0

Я не downvote, но вопрос, как представляется, чтобы запросить список словарей, ни одного словаря. –

+0

@ajcr спасибо, сообщите мне, я не видел OP явно – Hackaholic

Смежные вопросы