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
Numpy, the Python foundation for number crunching
Search
Data Science London
November 12, 2012
Technology
1
5k
Numpy, the Python foundation for number crunching
Talk by Didrik Pinte, MD at Enthought at Data Science London meetup 18/10/12
Data Science London
November 12, 2012
Tweet
Share
More Decks by Data Science London
See All by Data Science London
Semi-Supervised Anomaly Detection
datasciencelondon
0
1.1k
Hacking the Rail: Ingesting, analysing & visualising realtime streaming data
datasciencelondon
1
47k
Stateful Data-Parallel Processing
datasciencelondon
0
47k
Semantic web warmed up: Ontologies for the IoT
datasciencelondon
0
130
IoT data ingestion pipelines and Clojure transducers
datasciencelondon
0
290
TrendCalculus: A data science for trends
datasciencelondon
1
48k
Data Science in Mobile Health
datasciencelondon
1
8.3k
Large-scale Recommender Systems on Just a PC (with GraphChi)
datasciencelondon
1
17k
Taming Graph Dynamics at Scale
datasciencelondon
0
8.1k
Other Decks in Technology
See All in Technology
配列に見る bash と zsh の違い
kazzpapa3
1
130
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.8k
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
150
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
120
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
600
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
200
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.2k
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.3k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
220
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Designing Powerful Visuals for Engaging Learning
tmiket
0
230
Marketing to machines
jonoalderson
1
4.6k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
120
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Language of Interfaces
destraynor
162
26k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
Numpy, the Python foundation for number crunching Didrik Pinte, Enthought
London Data Science meetup Monday 22 October 2012
Number crunching? •High-level api •Interactivity & visualization •Performance •Low-level access
Monday 22 October 2012
Evidence ? PyCuda PyTrilinos Joblib petsc4py PyAlgoTrade numpy-boost Clyther PyOpenGL
Monday 22 October 2012
Evidence ? PyCuda PyTrilinos Joblib petsc4py PyAlgoTrade numpy-boost Clyther PyOpenGL
Monday 22 October 2012
Why then? •The API ... •Simple but powerful memory model
•Open access to the data Monday 22 October 2012
Array data structure Monday 22 October 2012
Let’s look at the code! •Examples: – API / interactivity
– memory management with stride_tricks – pikos – extensions with talib –(joblib, memmap/multiprocessing, ipython //) Monday 22 October 2012
API / interactivity Monday 22 October 2012
Memory management 1 2 3 4 5 6 7 8
9 10 1 2 3 4 2 3 4 5 3 4 5 6 12 11 = 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 10 8 9 10 11 ... Monday 22 October 2012
Memory management 1 2 3 4 5 6 7 8
9 10 1 2 3 4 2 3 4 5 3 4 5 6 12 11 = Shape 12, Strides 8, Shape 9,4, Strides 8,8 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 10 8 9 10 11 ... Monday 22 October 2012
Memory management - pikos Monday 22 October 2012
Memory management - chaco Monday 22 October 2012
Low level access %timeit talib.moving_average(adj_close, optInTimePeriod=5) 100000 loops, best of
3: 7.67 us per loop %timeit as_strided(adj_close, shape=(len(adj_close)-4, 5), strides=(8, 8)).mean (axis=1) 10000 loops, best of 3: 28.2 us per loop Monday 22 October 2012
Conclusion •It’s obvious, no? Monday 22 October 2012
Q & A ? Monday 22 October 2012