nekoniii3 commited on
Commit
6928c88
·
1 Parent(s): 2d84ec8
app.py CHANGED
@@ -8,7 +8,7 @@ from openai import (
8
  )
9
 
10
  # GPT用設定
11
- SYS_PROMPT_DEFAULT = "あなたは優秀なアシスタントです。質問をされた場合は、質問に答えるコードを作成して実行します。回答は日本語でお願いします。"
12
 
13
  # アシスタント用設定
14
  DF_MODEL = "gpt-3.5-turbo-1106"
@@ -17,9 +17,11 @@ AST_SYS_PROMPT = "あなたは優秀なアシスタントです。質問をさ
17
 
18
  # DUMMY = "********************"
19
  # file_format = {".txt", ".csv", ".pdf"}
20
- file_format = {".txt", ".csv", ".jpg", ".jpeg", ".png", ".xlsx", ".pdf"}
 
21
 
22
- # 各種出力フォルダ
 
23
  # IMG_FOLDER = "images"
24
  # ANT_FOLDER = "annotations"
25
 
@@ -33,13 +35,7 @@ MAX_TRIAL = int(os.environ["MAX_TRIAL"]) # メッセージ取得最大試行数
33
  INTER_SEC = int(os.environ["INTER_SEC"]) # 試行間隔(秒)
34
 
35
  # サンプル用情報
36
- examples = ["sample_data/東京都年別人口.csv", "sample_data/世界の人口2023年.csv", "sample_data/練馬区年齢別人口.csv", "sample_data/桃太郎あらすじ.txt"]
37
-
38
- example_toid = {"東京都年別人口.csv" : "file-TMLJxwdTy1oaaoo2l712r1Os"
39
- ,"世界の人口2023年.csv" : "file-rafHPSkmMciOjKovah0u5oug"
40
- , "練馬区年齢別人口.csv" : "file-B5VqVSqgh8dB70ygHwt0LVIH"
41
- , "桃太郎あらすじ.txt" : "file-ylcNO5LShDYgDk5wiuSiyTMA"}
42
- # ,"South Africa-2023.csv" : "file-6aarxpoX4TISJjqPH2Pi3QMV"}
43
 
44
  # コード出力用
45
  code_mode = {'ON': True, 'OFF': False}
@@ -94,7 +90,6 @@ def init(state, text, file):
94
  if state["client"] is None:
95
 
96
  # 初回起動時は初期処理をする
97
- # os.environ["OPENAI_API_KEY"] = os.environ["TEST_OPENAI_KEY"] # テスト時
98
  os.environ["OPENAI_API_KEY"] = state["openai_key"]
99
 
100
  # クライアント新規作成
@@ -121,15 +116,26 @@ def init(state, text, file):
121
 
122
  if state["assistant_id"] == "":
123
 
 
124
  assistant_id = get_assist_id(client, ASSIST_NAME)
125
 
126
  if assistant_id == "":
127
 
 
 
 
 
 
 
 
 
 
128
  # アシスタント新規作成
129
  assistant = client.beta.assistants.create(
130
  name=ASSIST_NAME,
131
  instructions=AST_SYS_PROMPT,
132
  model=DF_MODEL,
 
133
  tools=[{"type": "code_interpreter"}] # テスト中はオフ
134
  )
135
 
@@ -142,34 +148,21 @@ def init(state, text, file):
142
 
143
  if file:
144
 
145
- # ファイル名取得
146
- basename = os.path.basename(file)
 
 
 
147
 
148
- if example_toid.get(basename):
149
 
150
- # サンプルの場合は用意したIDをセット
151
- file_id = example_toid.get(basename)
152
 
153
  else:
 
 
154
 
155
- # ファイルのアップ
156
- file_response = client.files.create(
157
- purpose="assistants",
158
- file=open(file,"rb"),
159
- )
160
-
161
- if file_response.status != "processed":
162
-
163
- # 失敗時
164
- err_msg = "ファイルのアップロードに失敗しました"
165
-
166
- else:
167
- # ファイルのIDをセット
168
- file_id = file_response.id
169
-
170
-
171
- except NotFoundError as e:
172
- err_msg = "アシスタントIDが間違っています。新しく作成する場合はアシスタントIDを空欄にして下さい。"
173
  except AuthenticationError as e:
174
  err_msg = "認証エラーとなりました。OpenAPIKeyが正しいか、支払い方法などが設定されているか確認して下さい。"
175
  except Exception as e:
@@ -202,7 +195,7 @@ def raise_exception(err_msg):
202
  """ エラーの場合例外を起こす関数 """
203
 
204
  if err_msg != "":
205
- raise Exception("これは入力チェックでの例外です。")
206
 
207
  return
208
 
@@ -254,13 +247,11 @@ def bot(state, history, file_id):
254
  file_ids=[file_id]
255
  )
256
 
257
- print(message)
258
-
259
  # RUNスタート
260
  run = client.beta.threads.runs.create(
261
  thread_id=thread_id,
262
  assistant_id=assistant_id,
263
- instructions=system_prompt
264
  )
265
 
266
  # "completed"となるまで繰り返す
@@ -282,10 +273,6 @@ def bot(state, history, file_id):
282
  order="asc"
283
  )
284
 
285
- # デバッグ用
286
- print(run.status)
287
- print(messages)
288
-
289
  # messageを取り出す
290
  for msg in messages:
291
 
@@ -419,11 +406,11 @@ def bot(state, history, file_id):
419
  yield gr.Chatbot(label=run.status ,value=history), image_file, ant_file, err_msg
420
  break
421
 
422
- # else:
423
- # if i > 3:
424
 
425
- # # 作業中とわかるようにする
426
- # yield gr.Chatbot(label=run.status + " (Request:" + str(i) + ")" ,value=history), image_file, ant_file, err_msg
427
 
428
 
429
  def get_code(run_steps):
@@ -478,7 +465,7 @@ def finally_proc():
478
  def clear_click(state):
479
  """ クリアボタンクリック時 """
480
 
481
- # セッションの一部をリセット()
482
  # state["assistant_id"] = ""
483
  state["thread_id"] = ""
484
  state["last_msg_id"] = ""
@@ -488,23 +475,16 @@ def clear_click(state):
488
  # 画面構成
489
  with gr.Blocks() as demo:
490
 
491
- # title = "<h2>GPT Code Interpreter対応チャット</h2>"
492
- # message = "・テスト中でAPIKEY無しで動きます ※機密ファイルはアップしないでください<br>"
493
- # message += "・こういうときにエラーになるなどフィードバックあればお待ちしています。<br>"
494
- # message += "・コードインタープリターAPIの解説動画はこちらです→"
495
- # message += "https://www.youtube.com/watch?v=tFmedAM1FM8<br>"
496
- # message += '※動いているかわかりづらいですが、左上の"in_progress(Request:XX)"が止まっていなければ回答の生成中となります。<br>'
497
- # message += "※グラフの日本語文字化けの対応方法を注意事項に記載しました。<br>"
498
-
499
  title = "<h2>Code Interpreterデモアプリ</h2>"
500
- message = "<h3>最初に[設定]タブからOpenAIキーを入力してください。"
 
501
  message += "</h3>"
502
 
503
  gr.Markdown(title + "<h3>" + message + "</h3>")
504
 
505
  # セッションの宣言
506
  state = gr.State({
507
- "system_prompt": SYS_PROMPT_DEFAULT,
508
  "openai_key" : "",
509
  "code_mode" : False,
510
  "client" : None,
@@ -521,12 +501,11 @@ with gr.Blocks() as demo:
521
  with gr.Row():
522
  up_file = gr.File(label="ファイルアップロード", type="filepath",interactive = True)
523
  result_image = gr.Image(label="出力画像", type="filepath", interactive = False)
524
- # gr.Examples(label="サンプルデータ", examples=examples, inputs=[up_file])
525
  with gr.Row():
526
  btn = gr.Button(value="送信")
527
  # btn_download = gr.Button(value="画像のダウンロード") # 保留中
528
- # btn_clear = gr.ClearButton(value="リセット", components=[chatbot, text_msg, up_file, file_id, result_image, sys_msg, result_file])
529
- btn_clear = gr.ClearButton(value="リセット", components=[chatbot, text_msg, up_file])
530
  sys_msg = gr.Textbox(label="システムメッセージ", interactive = False)
531
  result_file = gr.File(label="出力ファイル", type="filepath",interactive = False)
532
 
@@ -548,44 +527,23 @@ with gr.Blocks() as demo:
548
  # txt_msg = text_msg.submit(respond, inputs=[text_msg, image, chatbot], outputs=[text_msg, image, chatbot])
549
 
550
  with gr.Tab("設定") as set:
551
- openai_key = gr.Textbox(label="OpenAI API Key", visible=True)
552
- # language = gr.Dropdown(choices=["Japanese", "English"], value = "Japanese", label="Language", interactive = True)
553
- system_prompt = gr.Textbox(value = SYS_PROMPT_DEFAULT,lines = 5, label="Custom instructions", interactive = True)
554
- code_output = gr.Dropdown(label="コード出力", choices=["OFF", "ON"], value = "OFF", interactive = True)
555
-
556
- # 設定タブからChatタブに戻った時の処理
557
- chat.select(set_state, [openai_key, system_prompt, code_output, state], state)
558
-
559
- with gr.Tab("注意事項") as notes:
560
- caution = "現在Assistant APIはβ版でのリリースとなっています。<br>"
561
- caution += "そのためか一部のファイルのアップロードが上手くいかないため、制限をかけています。<br>"
562
- caution += "(現在アップできるファイル形式は.txtと.csvのみ)<br>"
563
- caution += "本来はPDFなども利用できるはずなので、今後更新したいと思います。<br>"
564
- caution += "文字化けする場合「NotoSansJP-Bold.zipを解凍してフォントを取得して下さい。」と指示し<br>"
565
- caution += "グラフ作成時に「フォントはNotoSansJP-Boldを使用して下さい。」と指示して下さい。<br>"
566
- caution += "※NotoSansJP-Bold.zipをアップする必要はありません。<br>"
567
- caution += "詳細はこちら→https://github.com/nekoniii3/openai_multi_chat/tree/main/Code_Interpreter/docs/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E5%88%A9%E7%94%A8"
568
- gr.Markdown("<h3>" + caution + "</h3>")
569
 
 
 
 
570
 
571
- if __name__ == "__main__":
 
572
 
573
- demo.queue()
574
- demo.launch(debug=True)
575
 
576
- import os
 
 
577
 
578
- os.environ["TEST_OPENAI_KEY"] = "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"
579
 
580
- # 初回起動時は初期処理をする
581
- os.environ["OPENAI_API_KEY"] = os.environ["TEST_OPENAI_KEY"] # テスト時
582
- # os.environ["OPENAI_API_KEY"] = state["openai_key"]
583
-
584
- # クライアント新規作成
585
- client = OpenAI()
586
-
587
- api_response = client.files.with_raw_response.retrieve_content("file-UzuIIi5kk5FBnvffcAekvWzV")
588
-
589
- # api_response = client.files.list()
590
 
591
- # api_response
 
 
8
  )
9
 
10
  # GPT用設定
11
+ # SYS_PROMPT_DEFAULT = "あなたは優秀なアシスタントです。質問をされた場合は、質問に答えるコードを作成して実行します。回答は日本語でお願いします。"
12
 
13
  # アシスタント用設定
14
  DF_MODEL = "gpt-3.5-turbo-1106"
 
17
 
18
  # DUMMY = "********************"
19
  # file_format = {".txt", ".csv", ".pdf"}
20
+ file_format = {".txt", ".csv", ".jpg", ".jpeg", ".png", ".xlsx", ".zip"
21
+ , ".TXT", ".CSV", ".JPG", ".JPEG", ".PNG", ".XLSX", ".ZIP"}
22
 
23
+ # 各種フォルダ
24
+ FONT_FILE_PATH = "for_assistants/NotoSansJP-Bold.zip"
25
  # IMG_FOLDER = "images"
26
  # ANT_FOLDER = "annotations"
27
 
 
35
  INTER_SEC = int(os.environ["INTER_SEC"]) # 試行間隔(秒)
36
 
37
  # サンプル用情報
38
+ examples = ["sample_data/東京都男女別人口_y23.csv","sample_data/東京都年齢別人口_y23.csv"]
 
 
 
 
 
 
39
 
40
  # コード出力用
41
  code_mode = {'ON': True, 'OFF': False}
 
90
  if state["client"] is None:
91
 
92
  # 初回起動時は初期処理をする
 
93
  os.environ["OPENAI_API_KEY"] = state["openai_key"]
94
 
95
  # クライアント新規作成
 
116
 
117
  if state["assistant_id"] == "":
118
 
119
+ # 既存のアシスタントがあればIDを取得
120
  assistant_id = get_assist_id(client, ASSIST_NAME)
121
 
122
  if assistant_id == "":
123
 
124
+ # フォントファイルをアップ
125
+ font_file_response = client.files.create(
126
+ purpose="assistants",
127
+ file=open(FONT_FILE_PATH,"rb"),
128
+ )
129
+
130
+ # IDの取得
131
+ font_file_id = font_file_response.id
132
+
133
  # アシスタント新規作成
134
  assistant = client.beta.assistants.create(
135
  name=ASSIST_NAME,
136
  instructions=AST_SYS_PROMPT,
137
  model=DF_MODEL,
138
+ file_ids=[font_file_id],
139
  tools=[{"type": "code_interpreter"}] # テスト中はオフ
140
  )
141
 
 
148
 
149
  if file:
150
 
151
+ # ファイルのアップ
152
+ file_response = client.files.create(
153
+ purpose="assistants",
154
+ file=open(file,"rb"),
155
+ )
156
 
157
+ if file_response.status != "processed":
158
 
159
+ # 失敗時
160
+ err_msg = "ファイルのアップロードに失敗しました"
161
 
162
  else:
163
+ # ファイルのIDをセット
164
+ file_id = file_response.id
165
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  except AuthenticationError as e:
167
  err_msg = "認証エラーとなりました。OpenAPIKeyが正しいか、支払い方法などが設定されているか確認して下さい。"
168
  except Exception as e:
 
195
  """ エラーの場合例外を起こす関数 """
196
 
197
  if err_msg != "":
198
+ raise Exception("これは入力チェックも含むinit関数での例外です。")
199
 
200
  return
201
 
 
247
  file_ids=[file_id]
248
  )
249
 
 
 
250
  # RUNスタート
251
  run = client.beta.threads.runs.create(
252
  thread_id=thread_id,
253
  assistant_id=assistant_id,
254
+ # instructions=system_prompt
255
  )
256
 
257
  # "completed"となるまで繰り返す
 
273
  order="asc"
274
  )
275
 
 
 
 
 
276
  # messageを取り出す
277
  for msg in messages:
278
 
 
406
  yield gr.Chatbot(label=run.status ,value=history), image_file, ant_file, err_msg
407
  break
408
 
409
+ else:
410
+ if i > 3:
411
 
412
+ # 作業中とわかるようにする
413
+ yield gr.Chatbot(label=run.status + " (Request:" + str(i) + ")" ,value=history), image_file, ant_file, err_msg
414
 
415
 
416
  def get_code(run_steps):
 
465
  def clear_click(state):
466
  """ クリアボタンクリック時 """
467
 
468
+ # セッションの一部をリセット
469
  # state["assistant_id"] = ""
470
  state["thread_id"] = ""
471
  state["last_msg_id"] = ""
 
475
  # 画面構成
476
  with gr.Blocks() as demo:
477
 
 
 
 
 
 
 
 
 
478
  title = "<h2>Code Interpreterデモアプリ</h2>"
479
+ message = "<h3>最初に[設定]タブからOpenAIキーを入力してください。<br>"
480
+ message += '※動いているかわかりづらいですが、左上が"in_progress"となっていれば回答の生成中となります。<br>'
481
  message += "</h3>"
482
 
483
  gr.Markdown(title + "<h3>" + message + "</h3>")
484
 
485
  # セッションの宣言
486
  state = gr.State({
487
+ "system_prompt": "",
488
  "openai_key" : "",
489
  "code_mode" : False,
490
  "client" : None,
 
501
  with gr.Row():
502
  up_file = gr.File(label="ファイルアップロード", type="filepath",interactive = True)
503
  result_image = gr.Image(label="出力画像", type="filepath", interactive = False)
504
+ gr.Examples(label="サンプルデータ", examples=examples, inputs=[up_file])
505
  with gr.Row():
506
  btn = gr.Button(value="送信")
507
  # btn_download = gr.Button(value="画像のダウンロード") # 保留中
508
+ btn_clear = gr.ClearButton(value="リセット", components=[chatbot, text_msg, up_file, result_image])
 
509
  sys_msg = gr.Textbox(label="システムメッセージ", interactive = False)
510
  result_file = gr.File(label="出力ファイル", type="filepath",interactive = False)
511
 
 
527
  # txt_msg = text_msg.submit(respond, inputs=[text_msg, image, chatbot], outputs=[text_msg, image, chatbot])
528
 
529
  with gr.Tab("設定") as set:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
530
 
531
+ openai_key = gr.Textbox(label="OpenAI API Key", visible=True)
532
+ system_prompt = gr.Textbox(value = "",lines = 5, label="Custom instructions", interactive = True, visible=False)
533
+ code_output = gr.Dropdown(label="コード出力", choices=["OFF", "ON"], value = "OFF", interactive = True)
534
 
535
+ # 設定タブからChatタブに戻った時の処理
536
+ chat.select(set_state, [openai_key, system_prompt, code_output, state], state)
537
 
538
+ with gr.Tab("利用上の注意"):
 
539
 
540
+ caution = "・対応しているファイル形式は .txt .csv .jpg .png .xlsx .zipです。<br>"
541
+ caution += "・書籍にある通りグラフが文字化けする場合は<br>"
542
+ caution += "「NotoSansJP-Bold.zipを解凍してフォントを取得して下さい。」と指示してください。"
543
 
544
+ gr.Markdown("<h3>" + caution + "</h3>")
545
 
546
+ if __name__ == "__main__":
 
 
 
 
 
 
 
 
 
547
 
548
+ demo.queue()
549
+ demo.launch(debug=True)
for_assistants.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:256ab7471e1eb810eab43bc9a37e923d46975f008723e1f83ad4fbc867104bdf
3
+ size 3368013
for_assistants/NotoSansJP-Bold.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a4e86a6b7c33c42fc1e5abf15c988c0ce9c1c39377b04ff2acb68034fbe00525
3
+ size 3367847
sample_data/東京都年齢別人口_y23.csv ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 階層,令和5年1月1日現在/年齢,令和5年1月1日現在/総数(人),令和5年1月1日現在/男(人),令和5年1月1日現在/女(人),令和4年1月1日現在/年齢,令和4年1月1日現在/総数(人),令和4年1月1日現在/男(人),令和4年1月1日現在/女(人),差引増減/総数(人),差引増減/男(人),差引増減/女(人),増減率(総数)(%)
2
+ 1,0,87008,44630,42378,-,0,0,0,87008,44630,42378,0
3
+ 1,1,91032,46647,44385,0,91152,46693,44459,-120,-46,-74,-0.13
4
+ 1,2,93581,48024,45557,1,95461,48941,46520,-1880,-917,-963,-1.97
5
+ 1,3,95502,48665,46837,2,97025,49579,47446,-1523,-914,-609,-1.57
6
+ 1,4,100792,51773,49019,3,102008,52401,49607,-1216,-628,-588,-1.19
7
+ 1,5,102429,52228,50201,4,103363,52715,50648,-934,-487,-447,-0.9
8
+ 1,6,105243,53730,51513,5,106110,54195,51915,-867,-465,-402,-0.82
9
+ 1,7,106622,54484,52138,6,107540,54999,52541,-918,-515,-403,-0.85
10
+ 1,8,104807,53445,51362,7,105140,53584,51556,-333,-139,-194,-0.32
11
+ 1,9,105546,53889,51657,8,105795,54006,51789,-249,-117,-132,-0.24
12
+ 1,10,103211,52810,50401,9,103357,52866,50491,-146,-56,-90,-0.14
13
+ 1,11,102789,52887,49902,10,102828,52889,49939,-39,-2,-37,-0.04
14
+ 1,12,104836,53835,51001,11,104729,53797,50932,107,38,69,0.1
15
+ 1,13,103938,53317,50621,12,103783,53319,50464,155,-2,157,0.15
16
+ 1,14,103794,53057,50737,13,103735,53012,50723,59,45,14,0.06
17
+ 1,15,102696,52802,49894,14,102451,52665,49786,245,137,108,0.24
18
+ 1,16,101401,51662,49739,15,101051,51578,49473,350,84,266,0.35
19
+ 1,17,97131,49627,47504,16,96966,49549,47417,165,78,87,0.17
20
+ 1,18,103668,52552,51116,17,100872,51259,49613,2796,1293,1503,2.77
21
+ 1,19,112691,57155,55536,18,103645,52847,50798,9046,4308,4738,8.73
22
+ 1,20,118741,60256,58485,19,114295,58133,56162,4446,2123,2323,3.89
23
+ 1,21,125652,62586,63066,20,117457,59183,58274,8195,3403,4792,6.98
24
+ 1,22,137067,68160,68907,21,128043,63987,64056,9024,4173,4851,7.05
25
+ 1,23,156621,77106,79515,22,135810,67575,68235,20811,9531,11280,15.32
26
+ 1,24,168929,83198,85731,23,159702,78236,81466,9227,4962,4265,5.78
27
+ 1,25,175207,86693,88514,24,167117,81971,85146,8090,4722,3368,4.84
28
+ 1,26,178384,88899,89485,25,172660,85758,86902,5724,3141,2583,3.32
29
+ 1,27,175098,87351,87747,26,172049,85656,86393,3049,1695,1354,1.77
30
+ 1,28,181800,91377,90423,27,180094,90438,89656,1706,939,767,0.95
31
+ 1,29,171665,86613,85052,28,171176,86209,84967,489,404,85,0.29
32
+ 1,30,171547,86919,84628,29,172372,87277,85095,-825,-358,-467,-0.48
33
+ 1,31,169777,86098,83679,30,171460,87025,84435,-1683,-927,-756,-0.98
34
+ 1,32,165295,83218,82077,31,166883,84048,82835,-1588,-830,-758,-0.95
35
+ 1,33,164668,83420,81248,32,166310,84242,82068,-1642,-822,-820,-0.99
36
+ 1,34,171112,86619,84493,33,172849,87474,85375,-1737,-855,-882,-1
37
+ 1,35,173431,87895,85536,34,175105,88872,86233,-1674,-977,-697,-0.96
38
+ 1,36,174474,88313,86161,35,176321,89323,86998,-1847,-1010,-837,-1.05
39
+ 1,37,179695,91409,88286,36,181527,92348,89179,-1832,-939,-893,-1.01
40
+ 1,38,186958,95537,91421,37,188572,96360,92212,-1614,-823,-791,-0.86
41
+ 1,39,187241,95860,91381,38,188739,96671,92068,-1498,-811,-687,-0.79
42
+ 1,40,186221,95332,90889,39,187793,96226,91567,-1572,-894,-678,-0.84
43
+ 1,41,186165,95190,90975,40,187480,96001,91479,-1315,-811,-504,-0.7
44
+ 1,42,189821,96947,92874,41,191135,97719,93416,-1314,-772,-542,-0.69
45
+ 1,43,196288,99883,96405,42,197367,100512,96855,-1079,-629,-450,-0.55
46
+ 1,44,201030,102481,98549,43,201748,102945,98803,-718,-464,-254,-0.36
47
+ 1,45,203801,103883,99918,44,204778,104510,100268,-977,-627,-350,-0.48
48
+ 1,46,208445,106356,102089,45,209310,106877,102433,-865,-521,-344,-0.41
49
+ 1,47,212244,108210,104034,46,213069,108766,104303,-825,-556,-269,-0.39
50
+ 1,48,225408,114194,111214,47,226154,114758,111396,-746,-564,-182,-0.33
51
+ 1,49,233104,117930,115174,48,234026,118523,115503,-922,-593,-329,-0.39
52
+ 1,50,229268,115593,113675,49,230145,116183,113962,-877,-590,-287,-0.38
53
+ 1,51,226156,113902,112254,50,227051,114484,112567,-895,-582,-313,-0.39
54
+ 1,52,219422,111084,108338,51,220394,111643,108751,-972,-559,-413,-0.44
55
+ 1,53,214830,109734,105096,52,215816,110268,105548,-986,-534,-452,-0.46
56
+ 1,54,211765,109077,102688,53,212857,109685,103172,-1092,-608,-484,-0.51
57
+ 1,55,215139,110748,104391,54,216329,111427,104902,-1190,-679,-511,-0.55
58
+ 1,56,155689,80558,75131,55,156692,81134,75558,-1003,-576,-427,-0.64
59
+ 1,57,198044,102304,95740,56,199367,103134,96233,-1323,-830,-493,-0.66
60
+ 1,58,182601,94434,88167,57,183876,95228,88648,-1275,-794,-481,-0.69
61
+ 1,59,168484,86931,81553,58,169870,87750,82120,-1386,-819,-567,-0.82
62
+ 1,60,157982,81229,76753,59,159706,82397,77309,-1724,-1168,-556,-1.08
63
+ 1,61,149351,76456,72895,60,150752,77421,73331,-1401,-965,-436,-0.93
64
+ 1,62,145487,74342,71145,61,146909,75239,71670,-1422,-897,-525,-0.97
65
+ 1,63,138790,70754,68036,62,140277,71739,68538,-1487,-985,-502,-1.06
66
+ 1,64,135713,69019,66694,63,137109,69909,67200,-1396,-890,-506,-1.02
67
+ 1,65,124772,62657,62115,64,126279,63666,62613,-1507,-1009,-498,-1.19
68
+ 1,66,124815,62230,62585,65,126425,63328,63097,-1610,-1098,-512,-1.27
69
+ 1,67,126565,62978,63587,66,128127,64068,64059,-1562,-1090,-472,-1.22
70
+ 1,68,125169,62072,63097,67,126888,63243,63645,-1719,-1171,-548,-1.35
71
+ 1,69,126611,62064,64547,68,128367,63303,65064,-1756,-1239,-517,-1.37
72
+ 1,70,134370,65346,69024,69,136356,66766,69590,-1986,-1420,-566,-1.46
73
+ 1,71,138037,66694,71343,70,140253,68245,72008,-2216,-1551,-665,-1.58
74
+ 1,72,148729,71230,77499,71,151342,73017,78325,-2613,-1787,-826,-1.73
75
+ 1,73,170208,80330,89878,72,173411,82519,90892,-3203,-2189,-1014,-1.85
76
+ 1,74,167808,78464,89344,73,171270,80807,90463,-3462,-2343,-1119,-2.02
77
+ 1,75,169772,78309,91463,74,173461,80844,92617,-3689,-2535,-1154,-2.13
78
+ 1,76,114262,51543,62719,75,117064,53366,63698,-2802,-1823,-979,-2.39
79
+ 1,77,100355,44328,56027,76,103012,46073,56939,-2657,-1745,-912,-2.58
80
+ 1,78,120888,52366,68522,77,124459,54662,69797,-3571,-2296,-1275,-2.87
81
+ 1,79,127677,54440,73237,78,131675,56930,74745,-3998,-2490,-1508,-3.04
82
+ 1,80,120499,50678,69821,79,124681,53262,71419,-4182,-2584,-1598,-3.35
83
+ 1,81,117791,48677,69114,80,122467,51468,70999,-4676,-2791,-1885,-3.82
84
+ 1,82,105098,42448,62650,81,109658,45108,64550,-4560,-2660,-1900,-4.16
85
+ 1,83,88263,34890,53373,82,92724,37423,55301,-4461,-2533,-1928,-4.81
86
+ 1,84,82240,31805,50435,83,86726,34285,52441,-4486,-2480,-2006,-5.17
87
+ 1,85,86261,32467,53794,84,91734,35405,56329,-5473,-2938,-2535,-5.97
88
+ 1,86,78107,28710,49397,85,83832,31648,52184,-5725,-2938,-2787,-6.83
89
+ 1,87,75111,26875,48236,86,81298,29933,51365,-6187,-3058,-3129,-7.61
90
+ 1,88,60474,20836,39638,87,66298,23673,42625,-5824,-2837,-2987,-8.78
91
+ 1,89,54990,18089,36901,88,61100,20940,40160,-6110,-2851,-3259,-10
sample_data/東京都男女別人口_y23.csv ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 和暦(年次)・(各年1月1日),西暦(年次)・(各年1月1日),総数/人口(人),総数/増減数(人),男女別/男/人口(人),男女別/男/増減数(人),男女別/女/人口(人),男女別/女/増減数(人),地域別/区部/人口(人),地域別/区部/増減数(人),地域別/市部/人口(人),地域別/市部/増減数(人),地域別/町村部/人口(人),地域別/町村部/増減数(人)
2
+ 昭和33,1958,8524433,264959,4399593,147441,4124840,117518,7359266,216707,1084404,48801,80763,-549
3
+ 昭和34,1959,8828705,304272,4560824,161231,4267881,143041,7598964,239698,1146960,62556,82781,2018
4
+ 昭和35,1960,9106349,277644,4706355,145531,4399994,132113,7796178,197214,1227950,80990,82221,-560
5
+ 昭和36,1961,9398171,291822,4863570,157215,4534601,134607,8008586,212408,1308113,80163,81472,-749
6
+ 昭和37,1962,9665590,267419,4998400,134830,4667190,132589,8185654,177068,1399742,91629,80194,-1278
7
+ 昭和38,1963,9932080,266490,5126640,128240,4805440,138250,8334768,149114,1517438,117696,79874,-320
8
+ 昭和39,1964,10197370,265290,5258077,131437,4939293,133853,8463088,128320,1654529,137091,79753,-121
9
+ 昭和40,1965,10385484,188114,5339109,81032,5046375,107082,8526980,63892,1777881,123352,80623,870
10
+ 昭和41,1966,10616733,231249,5448650,109541,5168083,121708,8623568,96588,1912874,134993,80291,-332
11
+ 昭和42,1967,10719948,103215,5483591,34941,5236357,68274,8622063,-1505,2018455,105581,79430,-861
12
+ 昭和43,1968,10842612,122664,5537715,54124,5304897,68540,8631734,9671,2131602,113147,79276,-154
13
+ 昭和44,1969,10997792,155180,5614252,76537,5383540,78643,8663875,32141,2254989,123387,78928,-348
14
+ 昭和45,1970,11109453,111661,5661730,47478,5447723,64183,8658399,-5476,2372639,117650,78415,-513
15
+ 昭和46,1971,11199482,90029,5698395,36665,5501087,53364,8635657,-22742,2485182,112543,78643,228
16
+ 昭和47,1972,11294572,95090,5733611,35216,5560961,59874,8614935,-20722,2600164,114982,79473,830
17
+ 昭和48,1973,11360670,66098,5754890,21279,5605780,44819,8581836,-33099,2698177,98013,80657,1184
18
+ 昭和49,1974,11389985,29315,5757906,3016,5632079,26299,8526782,-55054,2781335,83158,81868,1211
19
+ 昭和50,1975,11392619,2634,5749636,-8270,5642983,10904,8464344,-62438,2845544,64209,82731,863
20
+ 昭和51,1976,11415440,22821,5751520,1884,5663920,20937,8428840,-35504,2903544,58000,83056,325
21
+ 昭和52,1977,11422580,7140,5747803,-3717,5674777,10857,8370514,-58326,2968766,65222,83300,244
22
+ 昭和53,1978,11426018,3438,5742701,-5102,5683317,8540,8315625,-54889,3026817,58051,83576,276
23
+ 昭和54,1979,11430896,4878,5743483,782,5687413,4096,8272317,-43308,3074418,47601,84161,585
24
+ 昭和55,1980,11422630,-8266,5735817,-7666,5686813,-600,8229494,-42823,3108524,34106,84612,451
25
+ 昭和56,1981,11415037,-7593,5730387,-5430,5684650,-2163,8193860,-35634,3135505,26981,85672,1060
26
+ 昭和57,1982,11431882,16845,5738532,8145,5693350,8700,8174924,-18936,3169979,34474,86979,1307
27
+ 昭和58,1983,11479125,47243,5766030,27498,5713095,19745,8181242,6318,3209608,39629,88275,1296
28
+ 昭和59,1984,11543806,64681,5802089,36059,5741717,28622,8201584,20342,3253194,43586,89028,753
29
+ 昭和60,1985,11612356,68550,5837114,35025,5775242,33525,8223199,21615,3299545,46351,89612,584
30
+ 昭和61,1986,11682315,69959,5873396,36282,5808919,33677,8243292,20093,3348841,49296,90182,570
31
+ 昭和62,1987,11740896,58581,5905397,32001,5835499,26580,8251910,8618,3398317,49476,90669,487
32
+ 昭和63,1988,11740361,-535,5908098,2701,5832263,-3236,8205865,-46045,3443016,44699,91480,811
33
+ 昭和64,1989,11718720,-21641,5897900,-10198,5820820,-11443,8150115,-55750,3476579,33563,92026,546
34
+ 平成2,1990,11698060,-20660,5883398,-14502,5814662,-6158,8091701,-58414,3513779,37200,92580,554
35
+ 平成3,1991,11684927,-13133,5872424,-10974,5812503,-2159,8045577,-46124,3546414,32635,92936,356
36
+ 平成4,1992,11683316,-1611,5865617,-6807,5817699,5196,8012523,-33054,3577677,31263,93116,180
37
+ 平成5,1993,11666227,-17089,5850386,-15231,5815841,-1858,7969439,-43084,3603748,26071,93040,-76
38
+ 平成6,1994,11627577,-38650,5824125,-26261,5803452,-12389,7913299,-56140,3620949,17201,93329,289
39
+ 平成7,1995,11598634,-28943,5803315,-20810,5795319,-8133,7871159,-42140,3634040,13091,93435,106
40
+ 平成8,1996,11587726,-10908,5791829,-11486,5795897,578,7846487,-24672,3647690,13650,93549,114
41
+ 平成9,1997,11602642,14916,5793911,2082,5808731,12834,7846823,336,3662487,14797,93332,-217
42
+ 平成10,1998,11641308,38666,5808485,14574,5832823,24092,7863301,16478,3685048,22561,92959,-373
43
+ 平成11,1999,11694934,53626,5832504,24019,5862430,29607,7892267,28966,3709849,24801,92818,-141
44
+ 平成12,2000,11750351,55417,5857130,24626,5893221,30791,7921476,29209,3736208,26359,92667,-151
45
+ 平成13,2001,11823029,72678,5892229,35099,5930800,37579,7967602,46126,3762984,26776,92443,-224
46
+ 平成14,2002,11907350,84321,5932231,40002,5975119,44319,8023202,55600,3792262,29278,91886,-557
47
+ 平成15,2003,11996211,88861,5973910,41679,6022301,47182,8081959,58757,3822699,30437,91553,-333
48
+ 平成16,2004,12074598,78387,6008358,34448,6066240,43939,8129801,47842,3854036,31337,90761,-792
49
+ 平成17,2005,12161029,86431,6047173,38815,6113856,47616,8183907,54106,3887161,33125,89961,-800
50
+ 平成18,2006,12247024,85995,6087228,40055,6159796,45940,8247810,63903,3910232,23071,88982,-979
51
+ 平成19,2007,12339259,92235,6130991,43763,6208268,48472,8318841,71031,3931755,21523,88663,-319
52
+ 平成20,2008,12433235,93976,6175811,44820,6257424,49156,8387659,68818,3957693,25938,87883,-780
53
+ 平成21,2009,12517299,84064,6216067,40256,6301232,43808,8451067,63408,3978689,20996,87543,-340
54
+ 平成22,2010,12591643,74344,6249973,33906,6341670,40438,8502527,51460,4001781,23092,87335,-208
55
+ 平成23,2011,12646745,55102,6269830,19857,6376915,35245,8541979,39452,4017752,15971,87014,-321
56
+ 平成24,2012,12686067,39322,6283796,13966,6402271,25356,8575228,33249,4024146,6394,86693,-321
57
+ 平成25,2013,12740088,54021,6306859,23063,6433229,30958,8624309,49081,4029607,5461,86172,-521
58
+ 平成26,2014,12807631,67543,6335735,28876,6471896,38667,8685756,61447,4036448,6841,85427,-745
59
+ 平成27,2015,12880144,72513,6366590,30855,6513554,41658,8751735,65979,4043532,7084,84877,-550
60
+ 平成28,2016,12966307,86163,6404647,38057,6561660,48106,8827070,75335,4054848,11316,84389,-488
61
+ 平成29,2017,13043707,77400,6438100,33453,6605607,43947,8892312,65242,4067867,13019,83528,-861
62
+ 平成30,2018,13115848,72141,6466115,28015,6649733,44126,8956636,64324,4076373,8506,82839,-689
63
+ 平成31,2019,13189049,73201,6495215,29100,6693834,44101,9021427,64791,4085767,9394,81855,-984
64
+ 令和2,2020,13257596,68547,6522813,27598,6734783,40949,9084642,63215,4092190,6423,80764,-1091
65
+ 令和3,2021,13297089,39493,6537442,14629,6759647,24864,9115890,31248,4101271,9081,79928,-836
66
+ 令和4,2022,13277052,-20037,6522919,-14523,6754133,-5514,9092428,-23462,4105528,4257,79096,-832
67
+ 令和5,2023,13260553,-16499,6509894,-13025,6750659,-3474,9083767,-8661,4098680,-6848,78106,-990