Формируйте ряды панд, используя словарь в качестве входных данных, где значение указывает частоту ключа в этом словаре - PullRequest
1 голос
/ 08 марта 2019

У меня есть объект словаря,

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

Исходя из этого,

Я хочу получить выходной объект в виде ряда или массива панд,

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

Даже если элементы в выходных сериях не в порядке, что в порядке, но должны отражать то же количество, что и значение для соответствующего ключевого элемента во входном словаре.

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

использование np.repeat

import numpy as np

np.repeat(*zip(*z.items()))
#array(['a', 'a', 'a', 'b', 'b', 'c', 'c', 'c', 'c', 'c'], dtype='<U1')
0 голосов
/ 08 марта 2019

вот одно решение:

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']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...