質問編集履歴
1
コードのさいど貼り直し
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,45 +1,82 @@
|
|
1
|
-
TwitterAPIを使用して、同じ言葉を呟かれてる分析をして、Mecabで一覧で出るようにしたのですが、
|
2
|
-
|
1
|
+
下記の結果をPandasを使用して格納し、エクセルに落としたいです。
|
2
|
+
利用目的としては、複数同じ単語があるのでユニークにして数を計算したいです。
|
3
|
+
単語名 件数
|
4
|
+
コロナ 405
|
5
|
+
マスク 2
|
3
6
|
|
4
|
-
|
7
|
+
```
|
5
|
-
|
6
|
-
|
7
|
-
|
8
8
|
#検索キーワード
|
9
9
|
q = "#花粉 exclude:retweets"
|
10
|
-
|
10
|
+
|
11
11
|
#データ取得
|
12
12
|
tweet_doc =[]
|
13
13
|
for tweet in tweepy.Cursor(api.search, q=q,tweet_mode="extended").items(500):
|
14
|
-
|
14
|
+
tweet_doc.append(tweet.full_text)
|
15
15
|
import MeCab
|
16
16
|
def sep_by_mecab(text):
|
17
|
-
|
17
|
+
m = MeCab.Tagger ('-Ochasen')
|
18
|
-
|
18
|
+
node = m.parseToNode(text)
|
19
|
-
|
20
|
-
word_list=[]
|
21
|
-
while node:
|
22
|
-
hinshi = node.feature.split(",")[0]
|
23
|
-
if hinshi in ["名詞","動詞","形容詞"]:
|
24
|
-
origin = node.feature.split(",")[6]
|
25
|
-
if origin not in ["*","する","いる","なる","てる","れる","ある","こと","もの","HTTPS","花粉","花粉症","症"] :
|
26
|
-
word_list.append(origin)
|
27
|
-
node = node.next
|
28
|
-
|
29
|
-
return word_list
|
30
19
|
|
20
|
+
word_list=[]
|
21
|
+
while node:
|
22
|
+
hinshi = node.feature.split(",")[0]
|
23
|
+
if hinshi in ["名詞","動詞","形容詞"]:
|
24
|
+
origin = node.feature.split(",")[6]
|
25
|
+
if origin not in ["*","する","いる","なる","てる","れる","ある","こと","もの","HTTPS","花粉","花粉症","症"] :
|
26
|
+
word_list.append(origin)
|
27
|
+
node = node.next
|
28
|
+
|
29
|
+
return word_list
|
31
30
|
documents=[]
|
32
31
|
for t in tweet_doc:
|
33
|
-
|
32
|
+
documents.append(set(sep_by_mecab(t)))
|
34
33
|
import pyfpgrowth
|
35
34
|
import pprint
|
36
|
-
|
35
|
+
|
37
36
|
#分析
|
38
37
|
patterns = pyfpgrowth.find_frequent_patterns(documents, 30)
|
39
|
-
|
38
|
+
|
40
39
|
#降順に並び替えて見やすく表示
|
41
40
|
sorted_patterns = sorted(patterns.items(),reverse=True,key=lambda x:x[1])
|
42
41
|
pprint.pprint(sorted_patterns)
|
42
|
+
```
|
43
43
|
|
44
|
+
結果
|
45
|
+
[(('マスク',), 169),
|
46
|
+
(('コロナ',), 94),
|
47
|
+
(('飛ぶ',), 72),
|
48
|
+
(('ウイルス', 'コロナ'), 67),
|
49
|
+
(('コロナ', 'マスク'), 67),
|
50
|
+
(('ウイルス', 'マスク'), 57),
|
51
|
+
(('対策',), 53),
|
52
|
+
(('日',), 51),
|
53
|
+
(('鼻',), 51),
|
54
|
+
(('ウイルス', 'コロナ', 'マスク'), 51),
|
55
|
+
(('目',), 44),
|
56
|
+
(('今日',), 44),
|
57
|
+
(('の',), 40),
|
58
|
+
(('アレルギー',), 40),
|
59
|
+
(('くる',), 39),
|
60
|
+
(('スギ',), 39),
|
61
|
+
(('でる',), 38),
|
62
|
+
(('コロナ', '新型'), 38),
|
63
|
+
(('インフルエンザ', 'マスク'), 38),
|
64
|
+
(('月',), 37),
|
65
|
+
(('鼻水',), 36),
|
66
|
+
(('ない',), 36),
|
67
|
+
(('インフルエンザ', 'ウイルス'), 36),
|
68
|
+
(('インフルエンザ', 'コロナ'), 36),
|
69
|
+
(('ん',), 35),
|
70
|
+
(('飛散',), 35),
|
71
|
+
(('でる', '飛ぶ'), 35),
|
72
|
+
(('できる',), 34),
|
73
|
+
(('くしゃみ',), 33),
|
74
|
+
(('ウイルス', '新型'), 32),
|
75
|
+
(('ウイルス', 'コロナ', '新型'), 31),
|
76
|
+
(('枚',), 30),
|
77
|
+
(('インフルエンザ', 'コロナ', 'マスク'), 30)]
|
44
|
-
|
78
|
+
===================
|
45
|
-
|
79
|
+
上記の結果をPndasで下記のように格納したいです!
|
80
|
+
単語名 件数
|
81
|
+
コロナ 405
|
82
|
+
マスク 2
|