通过以字典为输入来形成熊猫系列元素,其中值表示该字典中键的频率

时间:2019-03-08 18:33:33

标签: python-3.x pandas dictionary sklearn-pandas

我有一个字典对象

z = {"a":3, "b":2, "c":5}

基于此

我希望将输出对象作为pandas系列或数组作为

array(["a", "a", "a", "b", "b", "c", "c", "c", "c", "c"])

即使输出序列中的元素顺序不佳,但应该反映输入字典中其各自关键元素的值相同的计数。

2 个答案:

答案 0 :(得分:0)

这是一种解决方案:

z = {"a":3, "b":2, "c":5}
list=[]
for i in z: list += [i]*z[i]

print(list)

['a', 'a', 'a', 'b', 'b', 'c', 'c', 'c', 'c', 'c']

答案 1 :(得分:0)

使用np.repeat

import numpy as np

np.repeat(*zip(*z.items()))
#array(['a', 'a', 'a', 'b', 'b', 'c', 'c', 'c', 'c', 'c'], dtype='<U1')