部分文字列が与えられました。データフレーム内の特定の列にあるすべての部分文字列の出現回数を調べる必要があります。関連datframeは次のようになり、このパンダデータフレームの部分文字列の集合の数を求める
training['concat']
0 svAxu$paxArWAn
1 xvAxaSa$varRANi
2 AxAna$xurbale
3 go$BakwAH
4 viXi$Bexena
5 nIwi$kuSalaM
6 lafkA$upamam
7 yaSas$lipsoH
8 kaSa$AGAwam
9 hewumaw$uwwaram
10 varRa$pUgAn
ストリングの私のセットはキーがストリングであると値は、彼らが発生すると確率である辞書は、ある
reg = {'anuBavAn':0.35, 'a$piwra':0.2 ...... 'piwra':0.7, 'pa':0.03, 'a':0.0005}
#The length of dicitioanry is 2000
特に私はそれらを見つける必要があります2回以上出現する部分文字列
私はこのタスクを実行する次のコードを書いています。現在の実装が実行にかなりの時間を要しているのと同じように、より洗練されたpythonicやパンダ固有の方法がありますか?あなたが代わりにapply
str.contains
を使用することができます
elites = dict()
for reg_pat in reg_:
count = 0
eliter = len(training[training['concat'].str.contains(reg_pat)]['concat'])
if eliter >=3:
elites[reg_pat] = reg_[reg_pat]
のですか? – Boud
トレーニングは9000行と同じです –