2016-03-04 2 views
1

Скажем, у меня есть данные, содержащий элемент в строке [1], а затем его подсчета частоты в линии [2]Обратный отсчет частоты в Python

Item  Frequency.Count 
A   5 
B   4 
C   3 
D   2 
E   1 

Но я хочу выход быть похожим:

Data 
A 
A 
A 
A 
A 
. 
. 
. 
C 
C 
C 
D 
D 
E 

Это противоположен следующий код:

my_list = sorted(word_freq.items(), key = lambda x:x[1], reverse = True) 
for word,freq in my_list: 
print ("%‐10s %d" % (word, freq)) 

Вы можете подумать, что это глупый подход к частотному анализу но я хотел узнать, есть ли обратная операция для подсчета частот, есть ли у кого-нибудь идея о несортировании данных, если есть два столбца? Большое спасибо за совет.

ответ

0

Если вы петля вокруг элемента и во втором цикле просто повторить его не раз, когда список частот, чем вы сделали я guess.Please попробовать этот подход

0

Хотите ли вы сделать это? Я думаю, что это то, что имел в виду @ Навин Далал (не уверен, хотя).

с

> l 
[['A', 5], 
['B', 3], 
['C', 1]] 

вы можете получить то, что вы хотите:

> list("".join([i*j for i, j in l])) 
['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'C'] 

Ключевая часть бытия:

[i*j for i, j in l] 
['AAAAA', 'BBB', 'C'] 

Потому что вы можете умножить строку, несколько раз заданных целое число.

Надеюсь, это поможет.

1

список Входной сигнал: л = [[ 'А', 5], [ 'В', 3], [ 'С', 1]]

out_put=[] 
[(out_put.extend([j for j in lst[0]*lst[1])])) for lst in l] 

out_put: [ 'А' , 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'C']

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