Zählen der vorkommen bestimmter Wörter in pandas dataframe
Ich wollen zählt die Anzahl der vorkommen von bestimmten Wörtern in einem Daten-frame. Ich weiß, mit "str.enthält"
a = df2[df2['col1'].str.contains("sample")].groupby('col2').size()
n = a.apply(lambda x: 1).sum()
Derzeit bin ich mit dem obigen code. Gibt es eine Methode, um übereinstimmung regulärer Ausdruck und bekommen die Anzahl der vorkommen? In meinem Fall habe ich eine große dataframe, und ich will zu Spiel um 100 Saiten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update: die Ursprüngliche Antwort zählt die Zeilen, die unterzeichenfolge.
Zählen alle vorkommen einer Zeichenkette, auf die Sie verwenden können,
.str.count
:Den
str.contains
Methode akzeptiert einen regulären Ausdruck:Beispiel:
Zählen die Vorgänge können Sie einfach die Summe dieser boolean-Serie:
get
.word_regexs = [r'he', r'wo']
und erstellen Sie dann eine Reihe mitpd.Series((df.words.str.contains(r).sum() for r in word_regexs), word_regexs, name='count')
?Zählen die Gesamtzahl der matches, die Verwendung
s.str.match(...).str.get(0).count()
.Wenn Ihr regex passend sein mehrere einzigartige Worte, um ausgezählt werden individuell verwenden
s.str.match(...).str.get(0).groupby(lambda x: x).count()
Funktioniert es so:
Den
match
string-Methode verarbeitet reguläre Ausdrücke......aber die Ergebnisse, als gegeben hin, sind nicht sehr bequem. Die string-Methode
get
nimmt die Spiele als strings und wandelt leere Ergebnisse zu NaNs......die werden nicht gezählt.