Entfernen von Objekten, deren Anzahl kleiner als der Schwellenwert im Zähler ist.

8

Ich habe einen Zähler deklariert als: main_dict = Counter() und Werte werden als main_dict[word] += 1 hinzugefügt. Am Ende möchte ich alle Elemente weniger als 15 in der Frequenz entfernen. Gibt es eine Funktion in Counters , um dies zu tun?

Jede Hilfe wird geschätzt.

    
Aman Deep Gautam 07.04.2013, 11:13
quelle

4 Antworten

14

Nein, Sie müssen sie manuell entfernen. Die Verwendung von itertools.dropwhile() macht das vielleicht etwas einfacher:

%Vor%

Demonstration:

%Vor%

Wenn Sie dropwhile verwenden, müssen Sie nur die Schlüssel testen, deren Anzahl 15 oder höher ist. Danach wird es auf Tests verzichten und einfach alles passieren. Das funktioniert gut mit der sortierten most_common() Liste. Wenn es viele Werte unter 15 gibt, spart dies die Ausführungszeit für alle diese Tests.

    
Martijn Pieters 07.04.2013 11:18
quelle
6
%Vor%     
jamylak 07.04.2013 11:52
quelle
4

Eine andere Methode:

%Vor%     
Jon Clements 07.04.2013 11:50
quelle
0

kann ich eine andere Lösung vorschlagen

%Vor%

Auch ich habe das gleiche Problem, aber ich muss eine Liste aller Schlüssel aus Counter mit Werten mehr als einen Schwellenwert zurückgeben. Um dies zu tun

%Vor%     
Fedo 05.02.2018 16:18
quelle

Tags und Links