2017-02-14 15 views
1

私は列として文字列のリストを持つデータフレームを持ち、collections.counterを使用して用語頻度辞書を作成したいと考えています。データフレームは次のようになります。データフレーム列リストから用語頻度辞書を作成

>>> job_title['title'] 
0   [responsible, caring, trustworthy, babysitter] 
1    [compassionate, trustworthy, babysitter] 
2  [family, looking, kindergarten, preschool, chi... 
3  [babysitter, needed, 2, children, bee, cave, n... 
4    [fun, patient, nonjudgemental, babysitter] 
5  [responsible, interactive, intelligent, babysi... 
6     [responsible, friendly, babysitter] 
7  [family, looking, kindergarten, preschool, chi... 
8  [family, looking, kindergarten, preschool, chi... 
9      [reliable, clean, friendly, nanny] 

これを達成する最も効率的な方法は何ですか?

答えて

1

は、私はあなたがフラットlists、その後chain.from_iterableでとCounterを使用することができると思う:

from itertools import chain 
from collections import Counter 

print (Counter(chain.from_iterable(job_title.title))) 

サンプル:これは完璧です

job_title = pd.DataFrame({'title':[['responsible', 'caring', 'trustworthy', 'babysitter'], 
            ['compassionate', 'trustworthy', 'babysitter']]}) 

print (job_title) 
              title 
0 [responsible, caring, trustworthy, babysitter] 
1  [compassionate, trustworthy, babysitter] 


print (Counter(chain.from_iterable(job_title.title))) 
Counter({'babysitter': 2, 'trustworthy': 2, 
     'compassionate': 1, 'responsible': 1, 'caring': 1}) 
+0

、そんなにありがとう! – mangodreamz

関連する問題