我有["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
都没有给我想要的结果。还有什么选择?
答案 0 :(得分:3)
我认为Pandas for Series或DataFrames中的任何类型转换方法都不会产生您所追求的输出。
您可能只需要使用列表解析来调整to_dict()
的结果:
>>> counts = pd.value_counts(series).to_dict()
>>> [{u: v} for (u, v) in counts.iteritems()]
[{'A': 2}, {'C': 1}, {'B': 2}]
答案 1 :(得分: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}]