2014-11-20 2 views
0

나는 ["A","B","B","C","A"] 형태의 시리즈입니다. ["A":2,"B":2,"C":1]시리즈를 판다의 사전 목록으로 변환

내가 사전 [{A:2},{B:2},{C:1}]의 목록에이 시리즈를 변환 할 :

나는 또한 시리즈를 반환 pandas.Series.value_counts를 사용하여 각각의 고유 한 요소의 주파수를 계산하고 있습니다. 그러나 to_dictto_records도 원하는 결과를 얻지 못합니다. 대안은 무엇입니까?

답변

3

이 필요합니다.

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

당신은 내가 시리즈에 대한 팬더에서 모든 종류의 변환 방법을 생각하지 않는다 또는 DataFrames가 정확히 후있는 출력을 생성 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하지 못했지만, 문제는 사전의 목록이 아니라 하나의 사전을 요청하는 것 같다

당신은 단순히 목록 이해와 to_dict()의 결과를 조정해야 할 수도 있습니다. –

+0

@ajcr 알려 주셔서 감사합니다. 나는 OP를 분명히 보지 못했습니다. – Hackaholic