Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
相談LT #PyNyumon / 20170710
Search
yuzutas0
PRO
July 11, 2017
Technology
1
1.5k
相談LT #PyNyumon / 20170710
"Python入門者の集い" のLT資料となります。
http://yuzutas0.hatenablog.com/entry/2017/07/11/110000
に補足を掲載しています。
yuzutas0
PRO
July 11, 2017
Tweet
Share
More Decks by yuzutas0
See All by yuzutas0
OLSにおける推定量β1=共分散÷分散の導出 / 20230517
yuzutas0
PRO
2
620
民間企業におけるデータ整備の課題と工夫 / 20220305
yuzutas0
PRO
15
7.5k
累計参加者8,500名! #DataEngineeringStudy の43スライドから学ぶ、データエンジニアリングの羅針盤 / 20220224
yuzutas0
PRO
15
5.2k
あの人の自分戦略を聞きたい!2022 #devsumi / 20220218
yuzutas0
PRO
3
4.1k
データ基盤による利益最大化と初期構築プロセス / 20220209
yuzutas0
PRO
10
6.6k
Engineer Career Lounge#1「エンジニアの成長戦略を考える」 #ECLounge カンニングペーパー / 20211217
yuzutas0
PRO
3
1.5k
Data Management Guide - 事業成長を支えるデータ基盤のDev&Ops #TechMar / 20211210
yuzutas0
PRO
19
25k
[投影資料]『実践的データ基盤への処方箋』の刊行にあたって #TechMar / 20210210-2
yuzutas0
PRO
1
3.6k
DXを妨げる要因と実現へのアプローチ by @yuzutas0 / 20211022
yuzutas0
PRO
55
46k
Other Decks in Technology
See All in Technology
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
110
Eight Engineering Unit 紹介資料
sansan33
PRO
0
5.7k
翻訳・対話・越境で強いチームワークを作ろう! / Building Strong Teamwork through Interpretation, Dialogue, and Border-Crossing
ar_tama
4
1.5k
知っていると得する!Movable Type 9 の新機能を徹底解説
masakah
0
170
経営から紐解くデータマネジメント
pacocat
9
1.9k
ECMAScript仕様の最新動向: プロセスの変化と仕様のトレンド
uhyo
2
320
AI 時代のデータ戦略
na0
8
3.1k
Active Directory 勉強会 第 6 回目 Active Directory セキュリティについて学ぶ回
eurekaberry
16
5.7k
freeeにおけるファンクションを超えた一気通貫でのAI活用
jaxx2104
3
440
Multimodal AI Driving Solutions to Societal Challenges
keio_smilab
PRO
1
110
iRAFT法-他社事例を"自社仕様化"する技術 #pmconf2025
daichi_yamashita
0
160
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
37k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
KATA
mclloyd
PRO
32
15k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Faster Mobile Websites
deanohume
310
31k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
A Tale of Four Properties
chriscoyier
162
23k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Side Projects
sachag
455
43k
Rails Girls Zürich Keynote
gr2m
95
14k
Transcript
૬ஊLT Pythonॳ৺ऀ͕Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ ͦΖͦΖݶքͳͷͰॿ͚͍ͯͩ͘͞ 2017-07-10 Pythonೖऀͷू͍#5 presented by @yuzutas0
https://www.pexels.com/photo/reptile-snake-snape-36448/
Pythonॳ৺ऀ͕ ͦΖͦΖݶքͳͷͰ ॿ͚͍ͯͩ͘͞ Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ
Pythonॳ৺ऀ͕ ͦΖͦΖݶքͳͷͰ ॿ͚͍ͯͩ͘͞ Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ
ɹ@yuzutas0 ɹPythonॳ৺ऀ ɹ- ࣄSREͱ͔ ɹ- ୲γεςϜͷར༻ݴޠ ɹɹJava,
Node.js, Ruby, Golang, Objective-C
ɹڥߏஙແʹΫϦΞ
ɹ“Hello World” Ͱ·͔͞ͷΤϥʔʂ
ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ͜Ε ɹίϩϯ͕͍ΔΒ͍͠
ͱ͍͏ঢ়ଶ͔Βελʔτ
Pythonॳ৺ऀ͕ ͦΖͦΖݶքͳͷͰ ॿ͚͍ͯͩ͘͞ Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ
ɹɹ1. ࢪࡦੳ → Build/Measure/Learn ɹɹ2. ఆৗతͳKPIϞχλϦϯά ɹɹ3. ػցֶशͷσʔληοτ४උ ɹΈΜͳσʔλ͍͍ͨΑͶ
ɹΈΜͳ͕σʔλΛಠࣗʹͬͨ ݩσʔλ ऩू/Ճ දࣔ/ੳ ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺA
ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺB ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺC ϩάA DB ϩάB Excel Redash Tableau
ɹτϥϒϧଟൃ - πʔϧ͝ͱʹച্ͷ͕ҧ͏ʂ ݩσʔλ ऩू/Ճ දࣔ/ੳ
ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺA ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺB ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺC ϩάA DB ϩάB Excel Redash Tableau
ɹՃϩδοΫͷผཧ͕ ݩσʔλ ऩू/Ճ දࣔ/ੳ ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺA
ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺB ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺC ϩάA DB ϩάB Excel Redash Tableau
ɹͳͷͰBigQueryʹҰݩԽ ݩσʔλ ऩू/Ճ දࣔ/ੳ ɹɹɹɹɹɹɹ෦ॺA
ɹɹɹɹɹɹɹ෦ॺB ɹɹɹɹɹɹɹ෦ॺC ϩάA DB ϩάB Excel Redash Tableau BigQuery
ɹ֤෦ॺͷಘҙͳΓํɾπʔϧม͑ͳ͍ ݩσʔλ ऩू/Ճ දࣔ/ੳ ɹɹɹɹɹɹɹ෦ॺA
ɹɹɹɹɹɹɹ෦ॺB ɹɹɹɹɹɹɹ෦ॺC ϩάA DB ϩάB Excel Redash Tableau BigQuery
ɹॲཧεΫϦϓτͱͯ͠PythonΛ࠾ Jupyter Notebook ಈ࡞֬ೝ͍͢͠ ه/࠶ݱ͍͢͠ Pandas σʔλՃ͍͢͠
JupyterͰ֬ೝ͍͢͠
Pythonॳ৺ऀ͕ ͦΖͦΖݶքͳͷͰ ॿ͚͍ͯͩ͘͞ Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ
Ϟϊಈ͍͍ͯΔ ɹྗͷ݁থ
.envʹΑΔڥมͷಡΈࠐΈ → ςετڥΛ ɹྗͷ݁থ
unittest ͰطଘExcelγʔτͷܭࢉ݁Ռͱಉ͡ʹͳΔ͜ͱΛࣗಈݕূ ɹྗͷ݁থ
Python3.4ʙͷEnumΛ׆༻ ˠ DictionaryܕͰΛཧ ɹྗͷ݁থ
EnumͷࣙॻσʔλΛ ͍͘͢͢ΔϝιουΛ جఈΫϥεʹू ɹྗͷ݁থ
දࣔΫϥεͱModelΫϥεͷI/FΛ҆ఆͤ͞ΔͨΊʹ Python3.5ʙͷTypeHintsΛ׆༻ ɹྗͷ݁থ
ച্ͳͲͷࢦඪ BQ࿈ܞʹΑΔ Immutableͳ Ϟσϧʹఆٛ ɹྗͷ݁থ
BQ༻ΫΤϦPython3.6ʙͷf-stringsΛ׆༻ ϝιουΓग़͠ → Ҿ͖͠Ͱมείʔϓ੍ޚ ɹྗͷ݁থ
ɹ͜ͷΜʢʹฉ͘ͷ͕ૣͦ͏ʣ ෦༷ΛѲɺ ύϑΥʔϚϯεΛ࠷దԽͰ͖Δ ʢDocsɾॻ੶ɾίʔυΛಡΉϑΣʔζʣ ֎෦༷ΛѲɺอकੑΛ্Ͱ͖Δ ʢଞਓͷίʔυΛಡΉˍॻ͖͢ϑΣʔζʣ ɹݴޠͷֶशεςʔδͱͯ͠
ػೳཁ݅ΛຬͨͤΔ ʢͻͨ͢Βॻ͘ˍάάΔϑΣʔζʣ ڥߏங Hello World ͬ͘͟Γ σόοά ɾ݁߹ ϕλʔͳॻ͖ํ ศརͳϥΠϒϥϦ ϕϯνϚʔΫˍ νϡʔχϯά ෦मਖ਼ ͖ͪΜͱ σόοά
εϥεϥΘ͔Βͳ͍Python ɹཁ͢Δʹ
1. ͨͿΜ໊લۭؒܥ 2. JavaͩͱͰ͖ΔͷͰPythonͰ͖ͯ΄͍͠ܥ 3. IntelliJʢPythonϓϥάΠϯಋೖࡁΈʣܥ 4. ςετίʔυܥ
ɹಈ࡞͢Δ͚Ͳ͍ͨ͠Ϧετ
ϥΠτχϯάྻڍ͍ͯ͘͠ͷͰ ʮ͜͏͢Εղܾ͢ΔͷͰʁʯ ʮ͜͏͍͏࣭ͷํΛͯ͘͠Εʯ ͳͲͳͲɺޙͰڭ͍͑ͯͩ͘͞
__init__.py Ͱ import ͠·͘Δ༷͕͏͍͟ɻ ͳͯ͘ಈ͘ՕॴͱɺඞਢͷՕॴ͕͋Δʁ ɹ1. ͨͿΜ໊લۭؒܥ
ผϞδϡʔϧͷఆΛ͏ͱ͖ʹɺ Πϯϙʔτจ্͕ख͍͘͘έʔεͱ ͦ͏Ͱͳ͍έʔε͕͋Δ ɹ1. ͨͿΜ໊લۭؒܥ
Ϋϥεͷ getter/setter Λলུ͍ͨ͠ ʢ@Lombok.DataతͳϥΠϒϥϦ͕ཉ͍͠ʣ ɹ2. JavaͩͱͰ͖ΔͷͰPythonͰ͖ͯ΄͍͠ܥ
__init__() ʹશϑΟʔϧυΛ٧ΊΔॲཧΛॻ͘ͷ͕खؒ ʢ@AllArgsConstructerతͳϥΠϒϥϦ͕ཉ͍͠ʣ ɹ2. JavaͩͱͰ͖ΔͷͰPythonͰ͖ͯ΄͍͠ܥ
pandasͷdataframe['column']Λ PythonΦϒδΣΫτͷ column ϓϩύςΟʹίϐʔ͍ͨ͠ ʢModelMapper͕ཉ͍͠ʣ ɹ2. JavaͩͱͰ͖ΔͷͰPythonͰ͖ͯ΄͍͠ܥ
EnumͷvalueΛdictionaryܕͰ͍࣋ͬͯΔ͕ɺ ͬͱָʹΛऔಘ͍ͨ͘͢͠͠ ʢશEnumΛϧʔϓͤͯ֘͢͞ΔΛऔಘ͢ΔϝιουΛॻ͍͍ͯΔ͕ʣ ɹ2. JavaͩͱͰ͖ΔͷͰPythonͰ͖ͯ΄͍͠ܥ
IntelliJͰͷΠϯϙʔτ͕ઈରύεʹͳΔ͚Ͳɺ ࣮ߦ࣌ʹղܾͰ͖ͳ͍ͷͰɺ૬ରύεʹ͍ͨ͠ ɹ3. IntelliJʢPythonϓϥάΠϯಋೖࡁΈʣܥ
τοϓϨϕϧϞδϡʔϧͷΠϯϙʔτจΛ import .xxx.yyy.zzz Ͱͳ͘ import xxx.yyy.zzz ͱهड़ɻ IDEͩͱSyntaxErrorʹͳΔ͕࣮ߦ௨Δɻ ٯʹIDEʹ߹Θͤͯʮ.ʯͰ࢝ΊΔͱ͚͜Δɻ͜Ε໊લۭؒʁ
ɹ3. IntelliJʢPythonϓϥάΠϯಋೖࡁΈʣܥ
IntelliJͷRefactoringͰΫϥε໊Λม͑ͨͱ͖ʹ ϑΝΠϧ໊͕ࣗಈͰ࿈ಈͯ͠มΘͬͯ͘Εͳ͍ɻ ٯવΓɻຯʹ1൪ਏ͍ɻ ɹ3. IntelliJʢPythonϓϥάΠϯಋೖࡁΈʣܥ
testσΟϨΫτϦҎԼͷશεΫϦϓτΛҰׅͰ࣮ߦ͍ͨ͠ɻ ΦϓγϣϯΛ͚ͭͯσΟϨΫτϦ͕ωετ͢Δͱࣦഊͯ͠͠·͏ ͳͷͰݱࡏ֤σΟϨΫτϦΛݸผͰࢦఆ͍ͯ͠Δɻ ʢ֦ுੑ͕ͳ͍ʣ ɹ4. ςετίʔυܥ
ʢ͜ΕPythonͷ࣭Ͱͳ͍͚Ͳʣ Excelͷग़ྗ༰Λςετ͢Δͱ͖ɺϑΝΠϧ͕ग़Δͱअຐɻ ϞοΫΛ͏ʁ or ࣮ߦޙʹϑΝΠϧΛຖճআ͢Δʁ Ͳ͕͍͍ͬͪͰ͔͢Ͷʔʁ ɹ4. ςετίʔυܥ
Pythonॳ৺ऀ͕ ͦΖͦΖݶքͳͷͰ ॿ͚͍ͯͩ͘͞ Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ
ॿ͚͍ͯͩ͘͞
Q&AαʔϏεͰ ฉ͚ྑ͔ͬͨʢʁʣ ɹهɿձʹདྷͯؾ͍ͨ͜ͱ
ͨͱ͑ ɹهɿձʹདྷͯؾ͍ͨ͜ͱ
teratail ɹهɿձʹདྷͯؾ͍ͨ͜ͱ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ presented by @yuzutas0 https://www.pexels.com/photo/reptile-snake-snape-36448/