Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ビジネスPythonを学ぶ会_2020_11_09_Ogu
Search
J-Ogu
December 09, 2020
Programming
0
410
ビジネスPythonを学ぶ会_2020_11_09_Ogu
J-Ogu
December 09, 2020
Tweet
Share
More Decks by J-Ogu
See All by J-Ogu
JBUG広島&JBUG岡山 #共同開催 2020_06_21 LT資料
ogu
1
450
すごい広島 With Python 発表資料_2020_0129
ogu
0
390
PyconJP2018 09_18 小栗潤一 Pythonで「お絵描きパズル」を解いてみた
ogu
0
2.9k
Pycon JP 2018 python_お絵描きパズルのロジックまとめ.pdf
ogu
1
950
Other Decks in Programming
See All in Programming
dynamic!
moro
9
6.5k
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
140
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
920
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
170
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
プロダクト開発をAI 1stに変革する〜SaaS is dead時代で生き残るために〜 / AI 1st Product Development
kobakei
0
490
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.9k
CSC509 Lecture 01
javiergs
PRO
1
430
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
180
XP, Testing and ninja testing ZOZ5
m_seki
2
300
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Docker and Python
trallard
46
3.6k
Statistics for Hackers
jakevdp
799
220k
Making Projects Easy
brettharned
119
6.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Designing for Performance
lara
610
69k
How STYLIGHT went responsive
nonsquared
100
5.8k
Transcript
jupyter notebook ipywidgets を使用してお絵かきパズルを 可視化してみた ビジネスPythonを学ぶ会 2020.11.09 小栗 潤一
・小栗潤一 (おぐり じゅんいち) ・株式会社総合オリコミ社 ・ エンジニア (システム研究課 ディレクター) ・ チラシ制作の社内業務を自動化
・よく使う言語 ・JavaScript(adobe)、 AppleScript、 Python、 PHP、 Vue.js ・自分について ・ デザイナーとして入社、 独学でプログラムを始める。 ・ 独学に限界を感じて2016年に地元の 「すごい広島」 という勉強会に参加 ・ 趣味は、 数独・お絵かきロジックなどパズルが好き ・2018年に 「Pythonでお絵かきパズルを解いてみた」 ・ 本日の本題ではないですが仕事で行っている 「可視化」 をご紹介 自己紹介
重点課題の抽出 社内業務改善 細かなPGも含めると100~200くらい 障害発生時の対応件数 ・Excelデータから編集用データに変換 ・ 日づけ、 曜日のチェック ・ 画像データの検索
・slackでの問い合わせをスプレットシートに残している ・ 問い合わせを分析して問題点を抽出 -> 改善を行う
問い合わせが多いプログラムを抽出 重点課題の抽出 ・2020年6月から6ヶ月で約80回の問い合わせ ・Excelから編集データに変換するPGの問い合わせに焦点を当てる
問い合わせのワードから問題点を推測 重点課題の抽出 ・ 画像 ・ 確認・監視のワードが多い。 前工程の問い合わせが多いことが判明した
対応後の効果を検証 重点課題の抽出 チームで 取り組んだことを 社内に向けて 発信するために データの可視化
本日の議題
2018年 PyCon JP 「Pythonでお絵描きパズルを解いてみた」 登壇時に使用した ・jupyter notebook ・ipywidgets を使用したデータの可視化
本日の議題 ・ お絵描きパズルとは ・ データの処理について(Pandas,Numpy) ・ ロジックの一例 ・DEMO (お絵描きパズルを解く) ・
まとめ (可視化で気をつけていること)
本日扱うデータ お絵描きパズルとは
お絵描きパズルとは 本日扱うデータの説明 数字をヒントに マスを塗っていき 現れたイラストを 答えるパズルゲーム 1990年代に 流行
お絵描きパズルとは ピクロス (任天堂) お絵かきロジック (世界文化社) ののぐらむ イラストロジック 名称が違うだけで 同じルール
可視化 ・jupyter notebook ・RISE ・matplotlib、 pillow お絵描きパズルとは Pandas、 Numpyを使用して問題を解く。
白のマス 黒のマス 塗り指示 xのマス ・ 処理が未確定の空白のマス ・ □□□で表現 ・ 配列ないでは[0,
0, 0, ] ・ 処理が確定した塗り潰されたマス ・ ▪▪▪で表現 ・ 配列ないでは[1, 1, 1, ] ・ 問題の左・上辺にあるヒントの数字 お絵描きパズルとは 用語の説明 ・ 塗られないことが確定したマス ・ □□□で表現 ・ 配列ないでは[-1, -1, -1, ]
データの処理の仕方 Pandas、 Numpy 簡単な配列計算ロジック
DataFrame Numpyの配列計算 Series データについて [10] [0,0,0,0,0,0,0,0,0,0] [3,2,2] [0,0,0,0,0,0,0,0,0,0]
Jupyter Notebook ipywidgets RISE (拡張機能) ロジックで配列計算を行い解いていく Jupyter Notebookを使った開発 ・ デモ環境
本日の可視化の本質ではないので ロジックの一例を 一つだけ説明
None
None
None
DEMO
まとめ
誰に何を伝えたいのかを意識する 意識することでデータに説得力!! 目的を明確にして、 目的に合ったデータの加工、 可視化を意識する ・ 開発デバッグのための可視化 ・ 決裁者に納得していただくための可視化 データを加工する際に可読性、
スケールを意識する データは簡単に手に入る 実際のデータに触れてみて、 慣れることが大事!! 様々なことが簡単にデータ化できる 簡単に手に入れることができる ・使用履歴 ・apple watchからバイタルデータ ・ 天気 etc... うまく活用することができていない まとめ