SlideShare a Scribd company logo
Python
Analyzing Baseball Data With Python
PyCon JP 2016 Talk Session 2016/9/22
Shinichi Nakagawa, Ai Makabi
Starting Member
• Who am I ?
• Hack→! Hack!!
• (MLBAM) Python & (pitchpx)
• Jupyter lab, pandas, matplotlib
• LT
•
• VS ※
• @amacbee
•
Who am I?
• Shinichi Nakagawa(@shinyorke)
• Python ※
• visasQ( ) Web Engineer
• Pythonista, Agile & Scrum & Kanban coach, Baseball Analyst
• /
•
• ( )
• 

8-7 9 .
visasQ?
• .
• 1 2 

.
• Django .
• https://service.visasq.com
• CTO LT (ry
hack?
• ( ) Python OSS .
• ” ” .

Web (
• .

→ !
• (@shinyorke) /MLB
.
Hack! Python
PyCon JP 2015
http://www.slideshare.net/shinyorke/hackpython-pyconjp
Hack! Python
PyCon JP 2015
http://www.slideshare.net/shinyorke/hackpython-pyconjp
Hack! Python
PyCon JP 2015
http://www.slideshare.net/shinyorke/hackpython-pyconjp
Hack!→ Hack!!
• etc…
•
• ( ) 

( , etc…)
• …
•
MLB at BAT MLB
• MLB
• PC TV
• MLB.TV
•
MLBAM Dataset(Pitch f/x)
• MLB Advanced Media(MLB ) XML
.
• PITCH f/x
Statscast Sensor ( / ) .
• ( )100 .
• Copyright , OK.
• Github .
• http://gd2.mlb.com/components
1
(2016/4/6 VS )
http://gd2.mlb.com/components/game/mlb/year_2016/month_04/day_06/
gid_2016_04_06_lanmlb_sdnmlb_1/inning/inning_1.xml
※ pitcher=“628317"
MLBAM Dataset( / )
• etc…
•
• ( )
• (Relation)
•
(≒ ).
ビックデータとPythonではじめる野球の統計分析 #pyconjp
Analyzing Baseball Data with R
• MLBAM Retrosheet(※ Hack
)
• R(R Studio, pitchRx)
• https://www.amazon.co.jp/dp/B00GBC36S4
PyCon Python
pitchpx - Getting MLB dataset
• MLBAM XML 

CSV .
• pitchRx(R) (@shinyorke) .
• Python 3.3.x ( :Legacy Python!!!).
• BeautifulSoup( ),click( )

.
• PyPI .
• Jupyter, pandas .
$ # Python 3.3 ( Python 3.4 )
$ pip install pitchpx
$ # 2015/8/1-8/12
$ pitchpx -s 20150801 -e 20150812 -o .
Python
• R Python .
• 

(Python)
• Web
API Python .
• Hack
• Jupyter + pandas + matplotlib ,

PyData .
• Jupyter lab .
• INPUT/OUTPUT, pandas.
• matplotlib,seaborn .
• Qiita, .
(Python )
…
ビックデータとPythonではじめる野球の統計分析 #pyconjp
LT
• Yu Darvish (@shinyorke)
• 2016 (@amacbee)

※ ( )
• VS (@shinyorke)
ビックデータとPythonではじめる野球の統計分析 #pyconjp
Yu Darvish( )
•
•
• (2015) TJ( )
Ichiro Suzuki( )
• & .
• ( ) .
• .
Joey Votto( )
• (2007-2015) .
• .
• 51 PyCon ( ).
Yu Darvish
Yu Darvish(2013, 2016)
• TJ( ) ( etc…)
• TJ (2013) (SL) (FC)
• TJ (2016) 4 (FF) 2 (FT) SL FC
• !?
2013(TJ ) 2016(TJ )
※
'CH': 'Change-up',
'CU': 'Curveball',
'EP': 'Ephuus',
'FA': 'Fastball',
'FC': 'Cut Fastball',
'FF': 'four-seam Fastball',
'FO': 'Forkball',
'FS': 'Split-finger Fastball',
'FT': 'two-seam Fastball',
'KC': 'Knuckle Curve',
'KN': 'Knuckleball',
'SC': 'Screwball',
'SI': 'Sinker',
'SL': 'Slider',
'UN': 'Unknown'
8
• 

http://www.sponichi.co.jp/baseball/news/2016/08/03/kiji/K20160803013085860.html
• ( ) ( )
• ?
5 7 8
• ( DL )
• 5-7 8
• 4
2016/5-7 2016/8
※
'CH': 'Change-up',
'CU': 'Curveball',
'EP': 'Ephuus',
'FA': 'Fastball',
'FC': 'Cut Fastball',
'FF': 'four-seam Fastball',
'FO': 'Forkball',
'FS': 'Split-finger Fastball',
'FT': 'two-seam Fastball',
'KC': 'Knuckle Curve',
'KN': 'Knuckleball',
'SC': 'Screwball',
'SI': 'Sinker',
'SL': 'Slider',
'UN': 'Unknown'
Four seam
• TJ 4 !?
• 2013 (called strike)
• 2016 (swinging strike)
•
2013(TJ ) 2016(TJ )
Ichiro VS Votto
( )
•
51


http://blog.livedoor.jp/
nanjstu/archives/
49340618.html
• 3,000
( )
VS (2016 )
•
• (FF)
• (FT) ( )
• (42) (33) !?
Ichiro Suzuki Joey Votto
※
'CH': 'Change-up',
'CU': 'Curveball',
'EP': 'Ephuus',
'FA': 'Fastball',
'FC': 'Cut Fastball',
'FF': 'four-seam Fastball',
'FO': 'Forkball',
'FS': 'Split-finger Fastball',
'FT': 'two-seam Fastball',
'KC': 'Knuckle Curve',
'KN': 'Knuckleball',
'SC': 'Screwball',
'SI': 'Sinker',
'SL': 'Slider',
'UN': 'Unknown'
?
(20 )
??
• ( 165cm) 2
• … (SL).
• ?!?!?!?
• !?( )
Jose Altuve(26) Kris Bryant(24)
※
'CH': 'Change-up',
'CU': 'Curveball',
'EP': 'Ephuus',
'FA': 'Fastball',
'FC': 'Cut Fastball',
'FF': 'four-seam Fastball',
'FO': 'Forkball',
'FS': 'Split-finger Fastball',
'FT': 'two-seam Fastball',
'KC': 'Knuckle Curve',
'KN': 'Knuckleball',
'SC': 'Screwball',
'SI': 'Sinker',
'SL': 'Slider',
'UN': 'Unknown'
× ×
VS Part2(Hit Zone)
• X (start_speed, ), Y , (pa_event_cd)
• pa_event_cd (20), (21), (22), (23)

※Retrosheet
• pitch_type orz
※
'CH': 'Change-up',
'CU': 'Curveball',
'EP': 'Ephuus',
'FA': 'Fastball',
'FC': 'Cut Fastball',
'FF': 'four-seam Fastball',
'FO': 'Forkball',
'FS': 'Split-finger Fastball',
'FT': 'two-seam Fastball',
'KC': 'Knuckle Curve',
'KN': 'Knuckleball',
'SC': 'Screwball',
'SI': 'Sinker',
'SL': 'Slider',
'UN': 'Unknown'
Ichiro Suzuki Joey Votto
VS Part2(Hit Zone)
• X (start_speed, ), Y , (pa_event_cd)
• pa_event_cd (20), (21), (22), (23)

※Retrosheet
• pitch_type orz
※
'CH': 'Change-up',
'CU': 'Curveball',
'EP': 'Ephuus',
'FA': 'Fastball',
'FC': 'Cut Fastball',
'FF': 'four-seam Fastball',
'FO': 'Forkball',
'FS': 'Split-finger Fastball',
'FT': 'two-seam Fastball',
'KC': 'Knuckle Curve',
'KN': 'Knuckleball',
'SC': 'Screwball',
'SI': 'Sinker',
'SL': 'Slider',
'UN': 'Unknown'
Ichiro Suzuki Joey Votto
• 

4 

• ( ) …
•
, 

(& ISSUE )
ビックデータとPythonではじめる野球の統計分析 #pyconjp
- -
http://sportsworld.nbcsports.com/bill-james-statistical-revolution/
“””
, .

, 

, 

.
“””
-
ビックデータとPythonではじめる野球の統計分析 #pyconjp
• Kawasaki.rb #kwskrb http://kawasakirb.github.io/


PyCon JP 2014 2016,
• BPStudy #bpstudy http://bpstudy.connpass.com/

BPStudy Hack .
•
& PyCon JP 2016 !
Shinichi Nakagawa(Twitter/Facebook/visasQ:@shinyorke)

More Related Content

Similar to ビックデータとPythonではじめる野球の統計分析 #pyconjp (6)

UISTで登壇発表しようぜ (UIST勉強会講演2/2)
UISTで登壇発表しようぜ (UIST勉強会講演2/2)UISTで登壇発表しようぜ (UIST勉強会講演2/2)
UISTで登壇発表しようぜ (UIST勉強会講演2/2)
Masa Ogata
 
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザインワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
Kouji Ohno
 
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
Yusuke Yamamoto
 
20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌
Ryuji Tamagawa
 
Programming Contest Hacks
Programming Contest HacksProgramming Contest Hacks
Programming Contest Hacks
Kosei Moriyama
 
論理思考とプログラミング2011s#09
論理思考とプログラミング2011s#09論理思考とプログラミング2011s#09
論理思考とプログラミング2011s#09
Noritada Shimizu
 
UISTで登壇発表しようぜ (UIST勉強会講演2/2)
UISTで登壇発表しようぜ (UIST勉強会講演2/2)UISTで登壇発表しようぜ (UIST勉強会講演2/2)
UISTで登壇発表しようぜ (UIST勉強会講演2/2)
Masa Ogata
 
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザインワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
Kouji Ohno
 
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
Yusuke Yamamoto
 
20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌
Ryuji Tamagawa
 
Programming Contest Hacks
Programming Contest HacksProgramming Contest Hacks
Programming Contest Hacks
Kosei Moriyama
 
論理思考とプログラミング2011s#09
論理思考とプログラミング2011s#09論理思考とプログラミング2011s#09
論理思考とプログラミング2011s#09
Noritada Shimizu
 

More from Shinichi Nakagawa (20)

価値を見せる技術 #DevLOVE ベースボールからみる技術
価値を見せる技術 #DevLOVE ベースボールからみる技術価値を見せる技術 #DevLOVE ベースボールからみる技術
価値を見せる技術 #DevLOVE ベースボールからみる技術
Shinichi Nakagawa
 
User Happyをささえるアジャイルのココロとスクラムのキホン
User HappyをささえるアジャイルのココロとスクラムのキホンUser Happyをささえるアジャイルのココロとスクラムのキホン
User Happyをささえるアジャイルのココロとスクラムのキホン
Shinichi Nakagawa
 
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Shinichi Nakagawa
 
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LTこんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
Shinichi Nakagawa
 
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
Shinichi Nakagawa
 
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
Shinichi Nakagawa
 
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
Shinichi Nakagawa
 
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
Shinichi Nakagawa
 
やきうデータLT「ホームラン」 #pyconjp
やきうデータLT「ホームラン」 #pyconjpやきうデータLT「ホームラン」 #pyconjp
やきうデータLT「ホームラン」 #pyconjp
Shinichi Nakagawa
 
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
Shinichi Nakagawa
 
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
Shinichi Nakagawa
 
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
Shinichi Nakagawa
 
Agile Baseball Science - アジャイル脳によく効く野球のハナシ
Agile Baseball Science - アジャイル脳によく効く野球のハナシAgile Baseball Science - アジャイル脳によく効く野球のハナシ
Agile Baseball Science - アジャイル脳によく効く野球のハナシ
Shinichi Nakagawa
 
Agile Baseball Science - はじめてのセイバーメトリクス
Agile Baseball Science - はじめてのセイバーメトリクスAgile Baseball Science - はじめてのセイバーメトリクス
Agile Baseball Science - はじめてのセイバーメトリクス
Shinichi Nakagawa
 
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Shinichi Nakagawa
 
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Shinichi Nakagawa
 
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Shinichi Nakagawa
 
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudyはじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
Shinichi Nakagawa
 
Python野球クラスタの紹介
Python野球クラスタの紹介Python野球クラスタの紹介
Python野球クラスタの紹介
Shinichi Nakagawa
 
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Shinichi Nakagawa
 
価値を見せる技術 #DevLOVE ベースボールからみる技術
価値を見せる技術 #DevLOVE ベースボールからみる技術価値を見せる技術 #DevLOVE ベースボールからみる技術
価値を見せる技術 #DevLOVE ベースボールからみる技術
Shinichi Nakagawa
 
User Happyをささえるアジャイルのココロとスクラムのキホン
User HappyをささえるアジャイルのココロとスクラムのキホンUser Happyをささえるアジャイルのココロとスクラムのキホン
User Happyをささえるアジャイルのココロとスクラムのキホン
Shinichi Nakagawa
 
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Shinichi Nakagawa
 
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LTこんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
Shinichi Nakagawa
 
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
Shinichi Nakagawa
 
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
Shinichi Nakagawa
 
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
Shinichi Nakagawa
 
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
Shinichi Nakagawa
 
やきうデータLT「ホームラン」 #pyconjp
やきうデータLT「ホームラン」 #pyconjpやきうデータLT「ホームラン」 #pyconjp
やきうデータLT「ホームラン」 #pyconjp
Shinichi Nakagawa
 
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
Shinichi Nakagawa
 
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
Shinichi Nakagawa
 
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
Shinichi Nakagawa
 
Agile Baseball Science - アジャイル脳によく効く野球のハナシ
Agile Baseball Science - アジャイル脳によく効く野球のハナシAgile Baseball Science - アジャイル脳によく効く野球のハナシ
Agile Baseball Science - アジャイル脳によく効く野球のハナシ
Shinichi Nakagawa
 
Agile Baseball Science - はじめてのセイバーメトリクス
Agile Baseball Science - はじめてのセイバーメトリクスAgile Baseball Science - はじめてのセイバーメトリクス
Agile Baseball Science - はじめてのセイバーメトリクス
Shinichi Nakagawa
 
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Shinichi Nakagawa
 
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Shinichi Nakagawa
 
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Shinichi Nakagawa
 
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudyはじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
Shinichi Nakagawa
 
Python野球クラスタの紹介
Python野球クラスタの紹介Python野球クラスタの紹介
Python野球クラスタの紹介
Shinichi Nakagawa
 
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Shinichi Nakagawa
 

Recently uploaded (14)

Gabriel Kalembo Shares 6 Must Learn Skills for Aspiring Soccer Players
Gabriel Kalembo Shares 6 Must Learn Skills for Aspiring Soccer PlayersGabriel Kalembo Shares 6 Must Learn Skills for Aspiring Soccer Players
Gabriel Kalembo Shares 6 Must Learn Skills for Aspiring Soccer Players
Gabriel Kalembo
 
IPL Final Kohli's Fifty Lift RCB to Third Place.docx
IPL Final Kohli's Fifty Lift RCB to Third Place.docxIPL Final Kohli's Fifty Lift RCB to Third Place.docx
IPL Final Kohli's Fifty Lift RCB to Third Place.docx
Eticketing General
 
The Most Accomplished American Women Tennis Players of All Time
The Most Accomplished American Women Tennis Players of All TimeThe Most Accomplished American Women Tennis Players of All Time
The Most Accomplished American Women Tennis Players of All Time
Jason Tassinari
 
Introduction to Fleet Racing 2024 (NJK Sailing Center)
Introduction to Fleet Racing 2024 (NJK Sailing Center)Introduction to Fleet Racing 2024 (NJK Sailing Center)
Introduction to Fleet Racing 2024 (NJK Sailing Center)
IlyaBaraevSailRacing
 
FIFA World Cup Tickets: Alejandro Garnacho and Nico Paz, who chose Argentina,...
FIFA World Cup Tickets: Alejandro Garnacho and Nico Paz, who chose Argentina,...FIFA World Cup Tickets: Alejandro Garnacho and Nico Paz, who chose Argentina,...
FIFA World Cup Tickets: Alejandro Garnacho and Nico Paz, who chose Argentina,...
FIFA World Cup Tickets
 
History of Photojournalism final project2.pptx
History of Photojournalism final project2.pptxHistory of Photojournalism final project2.pptx
History of Photojournalism final project2.pptx
akasully76
 
Marty Lancton on Sportsmanship: What It Means On and Off the Field
Marty Lancton on Sportsmanship: What It Means On and Off the FieldMarty Lancton on Sportsmanship: What It Means On and Off the Field
Marty Lancton on Sportsmanship: What It Means On and Off the Field
Marty Lancton
 
IPL Final KL Rahul’s Bat Snaps, DC’s Spirit Soars.docx
IPL Final KL Rahul’s Bat Snaps, DC’s Spirit Soars.docxIPL Final KL Rahul’s Bat Snaps, DC’s Spirit Soars.docx
IPL Final KL Rahul’s Bat Snaps, DC’s Spirit Soars.docx
Eticketing General
 
Jeff Petersen - Wisconsin - A Bold Risk-Taker.pdf
Jeff Petersen - Wisconsin - A Bold Risk-Taker.pdfJeff Petersen - Wisconsin - A Bold Risk-Taker.pdf
Jeff Petersen - Wisconsin - A Bold Risk-Taker.pdf
Jeff Peterson - Wisconsin Basketball
 
Europa League Final Nous: How Lyon Handl
Europa League Final Nous: How Lyon HandlEuropa League Final Nous: How Lyon Handl
Europa League Final Nous: How Lyon Handl
Europa League Final Tickets
 
2024-2025 Dwyer girls weightlifting banquet
2024-2025 Dwyer girls weightlifting banquet2024-2025 Dwyer girls weightlifting banquet
2024-2025 Dwyer girls weightlifting banquet
michellevernet
 
Hassan Lammou Shares 5 Steps to Help Young Athletes Succeed
Hassan Lammou Shares 5 Steps to Help Young Athletes SucceedHassan Lammou Shares 5 Steps to Help Young Athletes Succeed
Hassan Lammou Shares 5 Steps to Help Young Athletes Succeed
Hassan Lammou
 
🏈 NFL Betting Strategies: Pro-Level Handicapping for ATS and Totals 💰
🏈 NFL Betting Strategies: Pro-Level Handicapping for ATS and Totals 💰🏈 NFL Betting Strategies: Pro-Level Handicapping for ATS and Totals 💰
🏈 NFL Betting Strategies: Pro-Level Handicapping for ATS and Totals 💰
Joe Duffy
 
Introduction to Fleet Racing 2025-2028 Update (NJK Sailing Center)
Introduction to Fleet Racing 2025-2028 Update (NJK Sailing Center)Introduction to Fleet Racing 2025-2028 Update (NJK Sailing Center)
Introduction to Fleet Racing 2025-2028 Update (NJK Sailing Center)
IlyaBaraevSailRacing
 
Gabriel Kalembo Shares 6 Must Learn Skills for Aspiring Soccer Players
Gabriel Kalembo Shares 6 Must Learn Skills for Aspiring Soccer PlayersGabriel Kalembo Shares 6 Must Learn Skills for Aspiring Soccer Players
Gabriel Kalembo Shares 6 Must Learn Skills for Aspiring Soccer Players
Gabriel Kalembo
 
IPL Final Kohli's Fifty Lift RCB to Third Place.docx
IPL Final Kohli's Fifty Lift RCB to Third Place.docxIPL Final Kohli's Fifty Lift RCB to Third Place.docx
IPL Final Kohli's Fifty Lift RCB to Third Place.docx
Eticketing General
 
The Most Accomplished American Women Tennis Players of All Time
The Most Accomplished American Women Tennis Players of All TimeThe Most Accomplished American Women Tennis Players of All Time
The Most Accomplished American Women Tennis Players of All Time
Jason Tassinari
 
Introduction to Fleet Racing 2024 (NJK Sailing Center)
Introduction to Fleet Racing 2024 (NJK Sailing Center)Introduction to Fleet Racing 2024 (NJK Sailing Center)
Introduction to Fleet Racing 2024 (NJK Sailing Center)
IlyaBaraevSailRacing
 
FIFA World Cup Tickets: Alejandro Garnacho and Nico Paz, who chose Argentina,...
FIFA World Cup Tickets: Alejandro Garnacho and Nico Paz, who chose Argentina,...FIFA World Cup Tickets: Alejandro Garnacho and Nico Paz, who chose Argentina,...
FIFA World Cup Tickets: Alejandro Garnacho and Nico Paz, who chose Argentina,...
FIFA World Cup Tickets
 
History of Photojournalism final project2.pptx
History of Photojournalism final project2.pptxHistory of Photojournalism final project2.pptx
History of Photojournalism final project2.pptx
akasully76
 
Marty Lancton on Sportsmanship: What It Means On and Off the Field
Marty Lancton on Sportsmanship: What It Means On and Off the FieldMarty Lancton on Sportsmanship: What It Means On and Off the Field
Marty Lancton on Sportsmanship: What It Means On and Off the Field
Marty Lancton
 
IPL Final KL Rahul’s Bat Snaps, DC’s Spirit Soars.docx
IPL Final KL Rahul’s Bat Snaps, DC’s Spirit Soars.docxIPL Final KL Rahul’s Bat Snaps, DC’s Spirit Soars.docx
IPL Final KL Rahul’s Bat Snaps, DC’s Spirit Soars.docx
Eticketing General
 
2024-2025 Dwyer girls weightlifting banquet
2024-2025 Dwyer girls weightlifting banquet2024-2025 Dwyer girls weightlifting banquet
2024-2025 Dwyer girls weightlifting banquet
michellevernet
 
Hassan Lammou Shares 5 Steps to Help Young Athletes Succeed
Hassan Lammou Shares 5 Steps to Help Young Athletes SucceedHassan Lammou Shares 5 Steps to Help Young Athletes Succeed
Hassan Lammou Shares 5 Steps to Help Young Athletes Succeed
Hassan Lammou
 
🏈 NFL Betting Strategies: Pro-Level Handicapping for ATS and Totals 💰
🏈 NFL Betting Strategies: Pro-Level Handicapping for ATS and Totals 💰🏈 NFL Betting Strategies: Pro-Level Handicapping for ATS and Totals 💰
🏈 NFL Betting Strategies: Pro-Level Handicapping for ATS and Totals 💰
Joe Duffy
 
Introduction to Fleet Racing 2025-2028 Update (NJK Sailing Center)
Introduction to Fleet Racing 2025-2028 Update (NJK Sailing Center)Introduction to Fleet Racing 2025-2028 Update (NJK Sailing Center)
Introduction to Fleet Racing 2025-2028 Update (NJK Sailing Center)
IlyaBaraevSailRacing
 

ビックデータとPythonではじめる野球の統計分析 #pyconjp

  • 1. Python Analyzing Baseball Data With Python PyCon JP 2016 Talk Session 2016/9/22 Shinichi Nakagawa, Ai Makabi
  • 2. Starting Member • Who am I ? • Hack→! Hack!! • (MLBAM) Python & (pitchpx) • Jupyter lab, pandas, matplotlib • LT • • VS ※ • @amacbee •
  • 3. Who am I? • Shinichi Nakagawa(@shinyorke) • Python ※ • visasQ( ) Web Engineer • Pythonista, Agile & Scrum & Kanban coach, Baseball Analyst • / • • ( ) • 
 8-7 9 .
  • 4. visasQ? • . • 1 2 
 . • Django . • https://service.visasq.com • CTO LT (ry
  • 5. hack? • ( ) Python OSS . • ” ” .
 Web ( • .
 → ! • (@shinyorke) /MLB .
  • 6. Hack! Python PyCon JP 2015 http://www.slideshare.net/shinyorke/hackpython-pyconjp
  • 7. Hack! Python PyCon JP 2015 http://www.slideshare.net/shinyorke/hackpython-pyconjp
  • 8. Hack! Python PyCon JP 2015 http://www.slideshare.net/shinyorke/hackpython-pyconjp
  • 9. Hack!→ Hack!! • etc… • • ( ) 
 ( , etc…) • … •
  • 10. MLB at BAT MLB • MLB • PC TV • MLB.TV •
  • 11. MLBAM Dataset(Pitch f/x) • MLB Advanced Media(MLB ) XML . • PITCH f/x Statscast Sensor ( / ) . • ( )100 . • Copyright , OK. • Github . • http://gd2.mlb.com/components
  • 13. MLBAM Dataset( / ) • etc… • • ( ) • (Relation) • (≒ ).
  • 15. Analyzing Baseball Data with R • MLBAM Retrosheet(※ Hack ) • R(R Studio, pitchRx) • https://www.amazon.co.jp/dp/B00GBC36S4
  • 17. pitchpx - Getting MLB dataset • MLBAM XML 
 CSV . • pitchRx(R) (@shinyorke) . • Python 3.3.x ( :Legacy Python!!!). • BeautifulSoup( ),click( )
 . • PyPI . • Jupyter, pandas .
  • 18. $ # Python 3.3 ( Python 3.4 ) $ pip install pitchpx $ # 2015/8/1-8/12 $ pitchpx -s 20150801 -e 20150812 -o .
  • 19. Python • R Python . • 
 (Python) • Web API Python . • Hack
  • 20. • Jupyter + pandas + matplotlib ,
 PyData . • Jupyter lab . • INPUT/OUTPUT, pandas. • matplotlib,seaborn . • Qiita, .
  • 23. LT • Yu Darvish (@shinyorke) • 2016 (@amacbee)
 ※ ( ) • VS (@shinyorke)
  • 26. Ichiro Suzuki( ) • & . • ( ) . • .
  • 27. Joey Votto( ) • (2007-2015) . • . • 51 PyCon ( ).
  • 29. Yu Darvish(2013, 2016) • TJ( ) ( etc…) • TJ (2013) (SL) (FC) • TJ (2016) 4 (FF) 2 (FT) SL FC • !? 2013(TJ ) 2016(TJ ) ※ 'CH': 'Change-up', 'CU': 'Curveball', 'EP': 'Ephuus', 'FA': 'Fastball', 'FC': 'Cut Fastball', 'FF': 'four-seam Fastball', 'FO': 'Forkball', 'FS': 'Split-finger Fastball', 'FT': 'two-seam Fastball', 'KC': 'Knuckle Curve', 'KN': 'Knuckleball', 'SC': 'Screwball', 'SI': 'Sinker', 'SL': 'Slider', 'UN': 'Unknown'
  • 31. 5 7 8 • ( DL ) • 5-7 8 • 4 2016/5-7 2016/8 ※ 'CH': 'Change-up', 'CU': 'Curveball', 'EP': 'Ephuus', 'FA': 'Fastball', 'FC': 'Cut Fastball', 'FF': 'four-seam Fastball', 'FO': 'Forkball', 'FS': 'Split-finger Fastball', 'FT': 'two-seam Fastball', 'KC': 'Knuckle Curve', 'KN': 'Knuckleball', 'SC': 'Screwball', 'SI': 'Sinker', 'SL': 'Slider', 'UN': 'Unknown'
  • 32. Four seam • TJ 4 !? • 2013 (called strike) • 2016 (swinging strike) • 2013(TJ ) 2016(TJ )
  • 35. ( )
  • 36. VS (2016 ) • • (FF) • (FT) ( ) • (42) (33) !? Ichiro Suzuki Joey Votto ※ 'CH': 'Change-up', 'CU': 'Curveball', 'EP': 'Ephuus', 'FA': 'Fastball', 'FC': 'Cut Fastball', 'FF': 'four-seam Fastball', 'FO': 'Forkball', 'FS': 'Split-finger Fastball', 'FT': 'two-seam Fastball', 'KC': 'Knuckle Curve', 'KN': 'Knuckleball', 'SC': 'Screwball', 'SI': 'Sinker', 'SL': 'Slider', 'UN': 'Unknown'
  • 38. • ( 165cm) 2 • … (SL). • ?!?!?!? • !?( ) Jose Altuve(26) Kris Bryant(24) ※ 'CH': 'Change-up', 'CU': 'Curveball', 'EP': 'Ephuus', 'FA': 'Fastball', 'FC': 'Cut Fastball', 'FF': 'four-seam Fastball', 'FO': 'Forkball', 'FS': 'Split-finger Fastball', 'FT': 'two-seam Fastball', 'KC': 'Knuckle Curve', 'KN': 'Knuckleball', 'SC': 'Screwball', 'SI': 'Sinker', 'SL': 'Slider', 'UN': 'Unknown'
  • 39. × ×
  • 40. VS Part2(Hit Zone) • X (start_speed, ), Y , (pa_event_cd) • pa_event_cd (20), (21), (22), (23)
 ※Retrosheet • pitch_type orz ※ 'CH': 'Change-up', 'CU': 'Curveball', 'EP': 'Ephuus', 'FA': 'Fastball', 'FC': 'Cut Fastball', 'FF': 'four-seam Fastball', 'FO': 'Forkball', 'FS': 'Split-finger Fastball', 'FT': 'two-seam Fastball', 'KC': 'Knuckle Curve', 'KN': 'Knuckleball', 'SC': 'Screwball', 'SI': 'Sinker', 'SL': 'Slider', 'UN': 'Unknown' Ichiro Suzuki Joey Votto
  • 41. VS Part2(Hit Zone) • X (start_speed, ), Y , (pa_event_cd) • pa_event_cd (20), (21), (22), (23)
 ※Retrosheet • pitch_type orz ※ 'CH': 'Change-up', 'CU': 'Curveball', 'EP': 'Ephuus', 'FA': 'Fastball', 'FC': 'Cut Fastball', 'FF': 'four-seam Fastball', 'FO': 'Forkball', 'FS': 'Split-finger Fastball', 'FT': 'two-seam Fastball', 'KC': 'Knuckle Curve', 'KN': 'Knuckleball', 'SC': 'Screwball', 'SI': 'Sinker', 'SL': 'Slider', 'UN': 'Unknown' Ichiro Suzuki Joey Votto
  • 42. • 
 4 
 • ( ) … • , 
 (& ISSUE )
  • 45. “”” , .
 , 
 , 
 . “”” -
  • 47. • Kawasaki.rb #kwskrb http://kawasakirb.github.io/ 
 PyCon JP 2014 2016, • BPStudy #bpstudy http://bpstudy.connpass.com/
 BPStudy Hack . •
  • 48. & PyCon JP 2016 ! Shinichi Nakagawa(Twitter/Facebook/visasQ:@shinyorke)