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
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
280
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
RailsのPostgreSQL 18対応
yahonda
0
790
7 Levels of a Web Performance Journey
sergeychernyshev
0
110
2重リクエスト完全攻略HANDBOOK / Double Request Handbook
shoheimitani
5
5k
DataOpsNight#8_Terragruntを用いたスケーラブルなSnowflakeインフラ管理
roki18d
1
130
今日から始めるpprof / Pprof workshop for beginners
ymotongpoo
6
690
kaigi_on_rails_2025_設計.pdf
nay3
7
2.6k
2025 IEEE MSST: NFS: Genesis
pugs
0
130
mypyの10年、pyrightの5年 tyの挑戦 - 型チェッカー進化論 -
byfarsmall
0
120
生成AIを活用したZennの取り組み事例
ryosukeigarashi
0
120
Goのビルドシステムの変遷 / The history of Go's build system
ymotongpoo
12
3k
施策が均質化する採用市場で何を捨て 何を大事にしていくかを考える
akyun
0
220
Создание мультиагентной системы на базе AI Studio
shwars
0
170
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
The Language of Interfaces
destraynor
162
25k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Optimizing for Happiness
mojombo
379
70k
Being A Developer After 40
akosma
90
590k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
The Cult of Friendly URLs
andyhume
79
6.6k
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