質問編集履歴

1

コードのさいど貼り直し

2020/02/06 08:19

投稿

pon244
pon244

スコア59

test CHANGED
File without changes
test CHANGED
@@ -1,22 +1,22 @@
1
- TwitterAPIを使用して、同じ言葉を呟かれてる分析をMecabで一覧で出るようにしたですが、
1
+ 下記の結果をPandasを使用して格納し、エクセル落としたです
2
2
 
3
- それをエセルで表示したいです。
3
+ 利用目的としては、複数同じ単語があるのでユニーて数を計算したいです。
4
+
5
+ 単語名 件数 
6
+
7
+ コロナ 405
8
+
9
+ マスク 2
4
10
 
5
11
 
6
12
 
7
- どのようにデータを格納して、Pnadasを使用すればいいかわからず困っています。
13
+ ```
8
-
9
-
10
-
11
-
12
-
13
-
14
14
 
15
15
  #検索キーワード
16
16
 
17
17
  q = "#花粉 exclude:retweets"
18
18
 
19
-
19
+
20
20
 
21
21
  #データ取得
22
22
 
@@ -24,57 +24,55 @@
24
24
 
25
25
  for tweet in tweepy.Cursor(api.search, q=q,tweet_mode="extended").items(500):
26
26
 
27
- tweet_doc.append(tweet.full_text)
27
+ tweet_doc.append(tweet.full_text)
28
28
 
29
29
  import MeCab
30
30
 
31
31
  def sep_by_mecab(text):
32
32
 
33
- m = MeCab.Tagger ('-Ochasen')
33
+ m = MeCab.Tagger ('-Ochasen')
34
34
 
35
- node = m.parseToNode(text)
35
+ node = m.parseToNode(text)
36
-
37
-
38
-
39
- word_list=[]
40
-
41
- while node:
42
-
43
- hinshi = node.feature.split(",")[0]
44
-
45
- if hinshi in ["名詞","動詞","形容詞"]:
46
-
47
- origin = node.feature.split(",")[6]
48
-
49
- if origin not in ["*","する","いる","なる","てる","れる","ある","こと","もの","HTTPS","花粉","花粉症","症"] :
50
-
51
- word_list.append(origin)
52
-
53
- node = node.next
54
-
55
-
56
-
57
- return word_list
58
36
 
59
37
 
38
+
39
+ word_list=[]
40
+
41
+ while node:
42
+
43
+ hinshi = node.feature.split(",")[0]
44
+
45
+ if hinshi in ["名詞","動詞","形容詞"]:
46
+
47
+ origin = node.feature.split(",")[6]
48
+
49
+ if origin not in ["*","する","いる","なる","てる","れる","ある","こと","もの","HTTPS","花粉","花粉症","症"] :
50
+
51
+ word_list.append(origin)
52
+
53
+ node = node.next
54
+
55
+
56
+
57
+ return word_list
60
58
 
61
59
  documents=[]
62
60
 
63
61
  for t in tweet_doc:
64
62
 
65
- documents.append(set(sep_by_mecab(t)))
63
+ documents.append(set(sep_by_mecab(t)))
66
64
 
67
65
  import pyfpgrowth
68
66
 
69
67
  import pprint
70
68
 
71
-
69
+
72
70
 
73
71
  #分析
74
72
 
75
73
  patterns = pyfpgrowth.find_frequent_patterns(documents, 30)
76
74
 
77
-
75
+
78
76
 
79
77
  #降順に並び替えて見やすく表示
80
78
 
@@ -82,8 +80,84 @@
82
80
 
83
81
  pprint.pprint(sorted_patterns)
84
82
 
83
+ ```
85
84
 
86
85
 
87
- import pandas as pd
88
86
 
87
+ 結果
88
+
89
+ [(('マスク',), 169),
90
+
91
+ (('コロナ',), 94),
92
+
93
+ (('飛ぶ',), 72),
94
+
95
+ (('ウイルス', 'コロナ'), 67),
96
+
97
+ (('コロナ', 'マスク'), 67),
98
+
99
+ (('ウイルス', 'マスク'), 57),
100
+
101
+ (('対策',), 53),
102
+
103
+ (('日',), 51),
104
+
105
+ (('鼻',), 51),
106
+
107
+ (('ウイルス', 'コロナ', 'マスク'), 51),
108
+
109
+ (('目',), 44),
110
+
111
+ (('今日',), 44),
112
+
113
+ (('の',), 40),
114
+
115
+ (('アレルギー',), 40),
116
+
117
+ (('くる',), 39),
118
+
119
+ (('スギ',), 39),
120
+
121
+ (('でる',), 38),
122
+
123
+ (('コロナ', '新型'), 38),
124
+
125
+ (('インフルエンザ', 'マスク'), 38),
126
+
127
+ (('月',), 37),
128
+
129
+ (('鼻水',), 36),
130
+
131
+ (('ない',), 36),
132
+
133
+ (('インフルエンザ', 'ウイルス'), 36),
134
+
135
+ (('インフルエンザ', 'コロナ'), 36),
136
+
137
+ (('ん',), 35),
138
+
139
+ (('飛散',), 35),
140
+
141
+ (('でる', '飛ぶ'), 35),
142
+
143
+ (('できる',), 34),
144
+
145
+ (('くしゃみ',), 33),
146
+
147
+ (('ウイルス', '新型'), 32),
148
+
149
+ (('ウイルス', 'コロナ', '新型'), 31),
150
+
151
+ (('枚',), 30),
152
+
153
+ (('インフルエンザ', 'コロナ', 'マスク'), 30)]
154
+
89
- df=DataFrame(??
155
+ ===================
156
+
157
+ 上記の結果をPndasで下記のように格納したいです!
158
+
159
+ 単語名 件数 
160
+
161
+ コロナ 405
162
+
163
+ マスク 2