teaes't Ik tt 4
Python Data Visualization Cookbook
EZ M NEU =o
Cit ie
g A, Bein Fi HWE
POSTS & TELECOM PRESSDict s ee Cs Lt ee aot Ld
Cee Et ale eet Ld
Comm ae De SSL st tae ee
Ee Sica
ek eee SE Ee Set |
NIMC USS Sie SEMAN eet Ua am bce eed
BO ASL att Pee ahs ene ed
se ies sas id ees es tLe)
PR bid Pe ek ee ee
Desa Abt A Ek D Ed
EM sea e
eT es UCL esta ei oF ee SLL
eS a DRE aE Uk ee bet
Boss k SOG AS ca ts cae
Peers
mi
415.
49.00 3Python
STE OD 0 (6 a Fz Se AK
[B¢*R=] Igor Milovanovieé &
mi iz
AR BB AR Hy he #
dkSERRE (CIP) ME
Python Sede PT UL 4a PEER / (SEAR) RY TT Hae
#% Milovanovic, I.) % ; Mii. —- diate > AR
WBE LHRRAL, 2015. 5
ISBN 978-7-115-38439-3
I. OP 1. OR Oidi I. OR LA AF
wit IV. OTPS11. 56
FRU AS FS 3 PHC TP BEC HEF (2015) 98057566 5
REALS AA
Copyright ©2013 Packt Publishing. First published in the English language under the title Python Data
Visualization Cookbook.
All rights reserved.
ABH Packt Publishing AANA RMB UAL LM. RAMSEY, ABABA TA
UAE Pa RM EAT BS ANH
KARA, PULL.
°F (2
it sat
eEemaR | PRE
SERENA aRAEAE
oO ARMOR REINER aac ema I
(HR 100164 HL-FALYY
[email protected]
Vi gp/ww-pepress. com.cn
=e BLED 5 FH RL
© FA; soo«1000 1/16
“] Igor Milovanovié
Q
aa
Bike 16.95
FR: UTE 2015 #F 5 FAB A
FURL 13.00 2015 $F$ FARIEA 1 AEL
SAGs 01-2013-9037 5
Se ft: 49.00 76
RAR PALE: (010) 81055410 EDM ARAL: (010) 81055316
BRMAAALE: (010) 81055315Azz
ATE AH Python Sc SURE PT OL CaP SCART, She MUAMEH Python Jee
WATE, Liat 60 AeA AT TE: EE SONI BE AT PL AR
AETIE 8 HE, PMSA TE ERS, TPB REA. SRS
PCAN GE HI. YE 3D FLPMA Peek. FA PEAS ATS Pal So P22 8 TE Pe i
RES it} matplotlib MR.
ASI ALLER Python Si AEA — HE AERA TE ALA BL BOISE, AT AB BER MA SLIP es TE
BOR. AGS. BOAT PM, JES Python BY LEHSil He LMR...
1.2 48 matplotlib, Numpy il Scipy /
1.2.1 HER TAE.....
1.2.2 PefEsb oR
1.2.3 CE RHE
1.2.4 4h ERE .
1.3% virtualeny #il virtualenvwrapper....
13.1 Ee TA...
13.2 PRIA RR.
1.4 7 Mac OS X
1.5 {& Windows [£48 matplotlib..
15.1 HE He.
15.2 Befese OR.
1.5.3 AbFEENI...
1.6 SRR ATL: Python BRIE (PIL) ...
1.6.1 Berea wR
1.6.2 EE
1.6.3 PICEA...
1.7 2248 requests HEE
1.7.1 PRAM...WW Pythom #48 =) #0 {t. ff ak
1.7.2. requests (1/8 #28 ..... .
1.8 e{USP ACH matplotlib FH...
1.8.1 Hee TAF,
1.8.2 Pee SR
1.8.3 FURST.
1.9 4SiLA BH matplotlib BH
1.9.1 HE CHE
1.9.2 RUA
1.9.3 ROMER RE BEN..
1.9.4 #96 iH.
LR TAME
21 fd...
2.2 IACSV SCHEER
2.2.1 i Off...
2.2.2 PEER,
2.2.3 fF.
2.2.4 APFEBLOH q 7
2.3. MA Microsoft Excel 3444" 5 A 24K.
23.1 Wee Tf...
2.3.2 Befesb oR
23.3 7 /P IR
23.4 thei.
2.4 SRE RBG CEES ABE
2.4.1 HE HE
2.4.2 BRIER.
24.3 fe BUH.
2.5 AAI ZEEE AICTE BELA.
25.1 HE AE..
2.5.2 Petes
25.3 CHE
25.4 breil.
2.6 MA ISON BGRURE ABE.
2.6.1 HEA CHE.
2.6.2 Pete R..
2.6.3 HERB2.64 AFUE,
2.7 Sih Adis) ISON, CSV All Excel...
271
2.7.2 PER
2.7.3 TAPS
2.7.4 AbFEHM......
2.8 NRCS ABR
2.8.1 AE LF...
28.2 Perea.
2.83 PGE...
2.8.4 FFT...
2.9 HSER NAL
2.9.1 HEA THE
2.9.2 PRE aR.
2.9.3 #dFEULH.....
2.10 BERARDI.
2.10.1 PEAR...
2.10.2 CPE REE,
2.10.3 Ah Ei
211 DENRA
QL HRA.
2112 AF RREL......
2113 ARFEBEM...
212 SPARMSBGEH) NumPy #41...
2.121 HER THE
2.12.2 PRAEAESR..
2.12.3 Af UE.
2.12.4 FhFC BM... se
2.13 AERCATEIBE PLEA ARE...
2.14.1 HEAT,
2.14.2 Pete,
2.14.3IV_ Python #48 5] #1 a8 9 8
2.14.4 FhFELH,
BIG HAH EMER
BD ASP a 65
3.2 9 CHAAR $F. SOB AEB ER
3.2.1 HEA TE
3.3.1 HER HE.
3.3.2 BREA,
3.4 BURA EAGER.
3.4.1 HEA TH
34.2 def
3.44 PhCH
3.5 WPAN, EAE
3.5.1 HEATH
3.5.2 PREAR.
3.5.3 AEB
3.6 WANE. AUER A
3.8.1
3.8.2
3.8.3 AFA
3.9 Se
3.9.1 HE Ltt
3.9.2 BRIE AIR.3.9.3 Cf
3.10 Sete RTE
BALL HEAT
3.112 SRPEAM..
3.12 Sei TE Bx RI PRE ..
3.12.1 MEA OYE
3.12.2 BREA.
3.12.3 THEE.
3.12.4 #h 90H
3.13 TARR CE ic A Cs FAL
3.13.3 CARRE...
BAR FIBSHRMEM..
4.1 fit...
4.2 BORA bil RE EEK
4.2.1 Met CHE
4.2.2 PRE R.
423 tes.
4.2.4 APFEHE.
4.3 yd ARs
43.1 Mee LfE..
43.2 BER.
43.3 fF GUE.
43.4 FbCiA.
4.4 tel Pal decison Bice 2e
44.1 HRT
44.2 PEM.
443 EGE.
444 FSBOvl
Python $448 7 #8. 464 % aR
4.5 {£1 subplots( 7
HEM LH.
4.6 et
4.6.1 Het CHE,
4.6.2 RETR.
4.6.3 THER
4.7 GREP ACES
4.7.1 Hb HE
4.7.2 PREM...
47.3 Cte
48 HOARE
4.8.1 Het CHE.
48.2 BRIER,
48.3 TPE.
4.9 Sih FE
X ak.
4.10 Sa RITE BEM .
4.10.1 HEE.
4.10.2 PEER.
4.10.3 THE BEE.
SSH He 3D TAKA
5.1 fiir...
52 lt 30 HARA
5.2.1 HE THF
5.2.2 SeteAe a,
5.2.3 CARRE
5.2.4 FFM...
5.3 GN 3D FA
5.3.1 HE THF.5.3.2 PER.
5.3.3 Te BUH...
5.4 ¢£ matplotlib 142 i
SAL HEA TB csceeneeencees
5.4.2 PAE.
5.4.3 Cf BE...
5.4.4 FERN...
5.5 Hi] OpenGL sl fait .
5.5.1 HER TE
5.5.2 BEARER
5.5.3 Lf Bt
5.5.4 #hEuH.
HOR AARNE SHAR..
6.1 fiiSP...
6.2 HH PIL tic Pel (@ bse.
6.2.1 HE THe.
6.2.2 DRIED.
62.3 CFR
6.2.4 FFE
6.3 Seti tT FARA Ae
63.1 HER THE.
6.3.2 PED R..
63.3 THE
6.4 CEH AAPA TEI deb AB A PR
64.1 HE LAF..
64.2 PME
64.3 THEE.
644 FFM!
6.5 fF] Basemap 7E Sth F122: il Bah
6.5.1 Mb LAF.
65.2 PEAR...
65.3 AEG
65.4 AFL... : ——
6.6 HF] Google Map API (£34 28 4) SAE
6.6.1 Hee TE...VIIL Python $48 FT #8 tt A #8 3: aR
6.6.2 PetPAE IR
6.6.3 LAF BL,
6.6.4 FEA
6.7 “:s& CAPTCHA Ff ....
6.7.1 Mee THE
6.7.2 PRIA...
673 TAGS.
6.7.4 AFR
B17 AER RRA ..
TA fir...
7.2 SIRES HCP
7.2.1 Hee CHE
7.2.2 PREM.
72.3 CAPD
7.3 SEARS A
73.1 He IE.
73.2 Pete.
73.3 THESE.
734 FFE.
7A fle
74.1 HER THE.
7A2 PRAELERR..
143 CAPE.
7S Hetil RTE AA
7.5.1 HELP.
75.2 Pte.
753 THe RH
754 FFE.
7.6 EPR RE
7.6.1 HE Tt.
7.6.2 PER.
7.6.3 ERE.
7.6.4 FFB.
7.7 EFA KOS AED Bg .
TTA HER TAP ose
rose 169
169
181
185
186
1927.7.2 PeAEAE RR.
173 TANASE.
7.74 FFB.
7.8 Still PATE
7.8.1 HE LAE.
78.2 PALER.
78.3 CEG
7.9 AAS AYES HE
79.1 HE THE.
7.9.2 APH.
7.9.3 TAPER
7.9.4 FhFEDL
B8 BSH matplotlib Mi...
8.1 TAP...
8.2 4rfill UAE Cbarbs)
8.2.1 HEAT,
8.2.2 BefeAbRE..
8.23 CRE.
8.2.4 Fh FEO.
8.3 Settle
83.1 HEA THE
8.3.2 Bee
8.3.3 01 GUE.
84 HE
8.4.1 HE TLE
8.4.2 PIPER.
8.4.3 EEE...
85 HeHRIEK
85.1 HELA...
8.5.2 EAR.
8.5.3 CPF
8.5.4 Fh FEiLH
8.6 SCANS ea
8.6.1 HES HE,
8.6.2 Pee!
woe 2X_Python $48 7 4b Sa FE KAR
8.6.3 CAP RE..... .
8.7 Hi] LaTeX jH#e CA...
8.7.4 Fh FEN...
8.8 FU pyplot #1 OO API fy 7s
8.8.1 HE LHe
8.8.2 PRP.
88.3 TERRE
8.8.4 Fh FEL
fal#1e
2 LIER
MAS FAR.
# matplotlib, NumPy Ail SciPy
92% virtualeny Al virtualenvwrapper
#£ Mac OS X [4% matplotlib
8% Python [el{Q4b#E ME (Python Imaging Library, PIL)
AE requests HUE
IML matplotlib HBR
Tit A w'H matplotlib MBA
1.1 978
Ae
°
°
°
@ =< Windows |: matplotlib
°
°
°
o
AS HF Fd EA SPE HT SIE, WB EAT BOR SCE. EAST EPS) HAE
FST, GRIESE. BEA GEA Python HEFT AE. PRGA HED) BR
STUN, BRERA. MUNA, HERG NET
SE TTS CEMA, HY IE] AS HED BEA IE A2 Python #38 7 1h EER
1.2 3€ matplotlib, Numpy #4 Scipy
ASESTAT matplotlib KALI IPTE Linux FA EM LABRET TIE 6
1.2.1 4Ea Cf
Se LAL BE fp LS HET Linux AH AHH T Python (HE 7 (HA) Debian/Ubuntu 2k
RedHat/SciLinux). CEH iP EAI MLinux RAAT. Python dif tif BASEN » WR
EFT PRUE BERET HK BEA Python te EAE AT MEY . ASSIS 6 LEE Python MALY 2.7
UA be
JU FA 84 RAHI) 7 FE Python 3.3 RAL MAM RIE FO ARB AK
ARAMA REALE Python MAM RR 2.7( EER 26), ABRBRT
Python 2.7 #A, ik#P AF Python MAM ERMARK, ZRRAKAD
Hi AAo- ap RABE A A JE A) (AE Python3.3 LENA, FARIA range Hik
AER xrang F ik ).
ASB ELA Os SEL 4 (FD BR RAAF CS AT Be, WR EA
{LEAH tin 247 SE 6
HK matplotlib 1247 HI4, ERE AL PP HL
Matplotlib (14 iis #2 (Ki NumPy libpng 7! freetype 4('42.. SEV UY matplotlib,
BE Ze ef NumPy FF. BER PY WLU) lal http://www.numpy.org/ I #248 NumPy HEAT IEGE
2286 1.4 VL ENAS, Python 3 773 NumPy 1.5 BRUL ERAS)
NumPy #48 Rab Je KSLA SR OAR SS AAO EH ik Ute. FS
FRA Python a4 SIA SE 5 4g TT VAARAF IG SAFE AEA. ER AO
i£4%. NumPy 9462549 RHA ERE, IMAL, MT ILATAR 4
WATHRE, KEREALRAM ADH ET AREER, AP CHEM
BS FILA AWARE T MATH,
ARF NumPy 45845 SciPy A, X Python 64 +72fk4}4E it He pose Esp SEL
@, ASTAKEHEMGRPHA MARY HH LAMY FSH
Netlib S44 €u% (AML httpy/www.netliborg ), EMER CIS Fe
Fortran 1 & FIL.
286 NumPy EAE RUF.HAT RSLERR 3
1, 48 Python-NumPy 4K fF.
$ sudo apt-get install python-numpy
2. RKP IRA.
$ python -c ‘import numpy; print numpy._version_'
3. ARPT MIE.
@ libpng 1.2: PNG Sf Fb # (Heh zlib HE)»
@ freetype 1.4+: {bJ#! True type Ff.
$ sudo apt-get install build-dep python-matplotlib
AEH) RedHat 3+ RedHat (t) Linux #247) (Fedora, SciLinux 8 CentOS) , Hy
DM yum TARE T ee, WILT apt-get TAK.
$ su -c 'yum-builddep python-matplotlib’
1.2.2 PEE
BM matplotlib RICK MAE ATIEA RS: MURS CRE, La PE oe eA — HE a)
ANGLER IE RAE ELS TRE, BEA FET matplotlib A python fit] ta
xt
BAAR.
AB LYSE TAA Da i PL ee NWA Ubuntu RSE, CEM OAT Ae
A Fitri Bay.
# in your terminal
§ sudo apt-get ins
AR AY ALL RP AE: SAE HARE ALL CE AT 2
BRR: PUTAS, PIRES BON. HaRE LR aE.
TY DMR A www.github.com FR HT IGUET 2, PRE BRM
$ cd ~/Downloads/
$ wget https: //github.com/downloads/matplotlib/matplotlib/matplotlib-1.2.
0. tar.gz
$ tar xzf matplotlib-1.2.0.tar.gz
$ cd matplotlib-1.2.0
§ python setup.py build
$ sudo python setup.py install
type:
11 python-numpy python-matplotlib python-scipy
BRT REF4 Python $48 7 #8 tt a 48 Se ae
FHT
Xt F418 /A abi £ http://www.packtpub.com _b % % #4 PAT Packt +5 4%,
a AT AMIEL FRA AMAR B]. toRR A AMG A OTE H
TVA FA] He ( http://www.packtpub.com/support! ), TAZA, AAT
RRA A MN FH.
12.3 CE
SAARES 2248 matplotlib, (ET FMEA Python 424TH, Distutils. 2H BEAD
BRINK. PAREN Linux 1 7PSETA CREITTI, P BARA
He PME eT AT EB
1.2.4 #h3ebiH
HERG PY CIE ASE, AYRE Ee SPAT TEL
Kies THECEAT ASAE, Python #E (HEREIN. [Python fb —ak2e Hat Python cir
ST TAL. SRG PyLab Hl, LAGAT matplotlib SAKE Cdn NumPy Fi
SciPy) » PILLAR VAR CME MISA AE. Python TASES HEAT PA OT Be
Fe HULL Python (ye 77 SK AE AA 8
1.3 #38 virtualenv 4A virtualenvwrapper
HORI TAR LE SPALL, BEALE BELE ASL FE I, HET AT a AS
TEBE REE LAA MEER. GEER ABE CBE Lie TAP AL
SRB RLS ETAL WU RHR A RSI A EAL BRT GS Be
PEELFELEMATHSS, ROAM EY. MERIAL RAE, AT Ge EAE virtualenv.
virtualeny Jé fH Tan Bicking G1 ZEN FFA A . GAMA, PRA AT EA
VU FAT ASE SIT» AAT EI EP HE AST FIA
ASHIK, Django Msi RAAEIE F Django 1.1 Al Python 2.3 MAIF AH, {Sut
ABT BR LATE Python2.6 IF KR CEE A TEMA, ARI A AG Be Ten
UNS TRARY Python (URAL) AUT SLE a He.
Virtualeny HE 9% iL BRAT (i FF SHEA Dl GE AT ABE Z A. FAY, IR GERL RHLHERR 5
SRL AS CP Te BEEP RS Ae CCE PCE AEBL) EAB, FA virtualenv fEaé (i
ES MTR LAN A NT AE LH
13.1 HEA CLE
254 virtualenv, 7 22/1 H) Python Hl pip. Pip HAEIF- WHE Python KF AN LA,
FY LAF CK ACH easy install TA. APM ACHAEA] pip LAUT EH. A
tite SSH LA root AAT an Fair, BEAT RAE Sad se AM pip 1 Bee.
# easy install pip
virtualeny AS OLA MAMET » STTMERACES virtualenvwrapper, VERE DNM, HEEL
AAS SASL (et So EV ZEIA . virtualenvwrapper (ISNAETFBAF http://virtualenvwrapper.
readthedocs.ong/en/latest/#features.
1.3.2 PAE
‘248 virtualeny #ll virtualenvwrapper TSUKI BRM F .
“#8 virtualenv Ail virtualenvwrapper.
1
$ sudo pip virtualenv
$ sudo pip virtualenvwrapper
DIRE AR RSE AR, HHL export $k WMH.
$ export VIRTENV=~/.virtualenvs
$ mkdir -p $VIRTENV
# {RA source #40 (UAT) shell WARME CRE
§$ source /usr/local/bin/virtualenvwrapper.sh
# OR —AERAR
§ mkvirtualenv virtl
2. {6 virt1 HM LAE matplotlib.
~§ pip install matplotlib
(virt1)usi
3. ATA) fea BEL F (toa MBl~/.bashre Po
source /usr/loca/bin/virtualenvwrapper.sh
FE ey FS EFA
@ =mkvirtualenv ENV: @/28% 2% ENV (A MERSEIFRGR
@ workon ENV: WAT GREY ENV MEIER RE.
@ deactivate: ith “ii MeseaE.6 Python $448 7 #1 #8 ak
1.4 7 Mac OS X £23¢ matplotlib
¢ Mac OS X_f-3XIK matplotlib Jf (EWI 77 TULA HT 5 python AAMAS, fA
Enthought Python Distribution (EPD). i # "J LAF Uj ied EPD Wik, FARAH E REM
I SE A HE A
{AF EPD Ar ASTRAL BER, BRAT Dy FE ft, A CAI BD MACE, thay
DAF ah CBRGUR) AY A7sh 248 Python, matplotlib AROMAT.
1.4.1 WEA
ALF Apple CEPR E RBEP LEAT BEE NI KK , Homebrew 351 A] iY LA ik eee it FE AE
She ., Homebrew S&F Ruby Ail Git (9, AP LUBE By FRA. er ENE Ns
MCE Homebrew, Z fii 2A Python, PT AAA virtualenv MITA, BERRA
matplotlib ff {8 CNumPy il SciPy), fib matplotlib. # FRB IFEANE .
1.4.2 See
1. EP AEA FN tit 6
ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
fr SHUTTER, FT LAS brew update 2% brew doctor fr 22K#22E brew ALA ES IE
WOM.
2. ia. 4 Homebrew HRMS AE path HHA RH. LAE, 1A] Homebrew %
BST PE HE WE TR AS Ee AAS EEE EM. ATIF~/.bash_profile Mf (MAH
/Users/[your-user-name]/.bash_profile) FFfEXHAFEMEMLL FA.
export PATH=/usr/local/bin: $PATH
3. Maar ST AE TENT path HRA. Zia, Ri AT
BY LAE HR Python ft) 24»
brew install python --framework -universal
Actin ALIN UA ZEAE Python Hr it SCMWAKE »
4. ER path AREER CASMNSIIA] AT).Ble PHLHERR 7
export PATH=/usr/local/share/python : /usr/local/bin: $PATH
5. tetit S4T HA python -version, MAE python LEAH MI) »
EMMI, ZHE8S FB) Python MACE AH 2.7.3.
6. pip MAWOA REE. MRA, FIA easy install 24 pip.
$
7. FAIS, FEAL IT GE EL EA) eRe EE AE HS TT. ld, 22S virtualeny Al
;_install pip
virtualenvwrappere
pip install virtualenv
pip install virtualenvwrapper
8. FEIN (1) ALDOR IY FL Pa
pip install numpy
brew install gfortran
pip install scipy
HE matplotlib.
[a Mountain Lion 64? GLK SciPy AAR (0.11), $4407. ]
1.
pip install -e gitthttps://github.com/scipy/scipytegg=scipy- dev
9. RARE AML. JASN Python FHAATUL Fits.
import numpy
print numpy.__version_
import scipy
print scipy._version__
quit()
10. 42% matplotlib.
pip install matplotlib
5 # Windows | #23¢ matplotlib
LEAP BATHE IAS Hal fal 2248 Python Fil matplotlib. (i RAE WA HIE Python.
1.5.1 Hea fe
FUT LMM Python FF
4 Windows 248 matplotlib 49 FI A7zh. Beth MATT
i, 1 EPD, Anaconda #il Python(x,y). iit A FHE REIN REAR, IU PE OR DE,
Bat nit.8 Python $48 7 Ht FE 9: ae
BBN, FEA Ta PE — UE al SCP EAE matplotlib ARATE . HEBER
Ef) NumPy All SciPy (HIM AS, PAY SPAR DIT AT EAH AS 5 SETA matplotlib — WE SCH RAN E
MERE, RS ae MES eT BK — AE BORE TT AT A IS WE
PIRI, ONE ATES AeA, THA HEMEL APE matplotlib BR HCB CE FE IIE ME
REMAKE ©
1.5.2 PRED R
BE CEE Hh He ok Ha Me Python Bb: Ae ATA» FIC TIL El IOHei LE IE MI AR YI EL AE “ee he
Dy kw HEE A TSK
WPA] matplotlib, AIA Python ARAMA THEY ALR. ATLAS
}&(2SH Enthought Python Distribution(EPD) 240). (FA matplotlib MrT) FIT LEAL
AMRIT CSciPy. NumPy. Python WLS AIMEE) » ILE EPD
Aah 6
matplotlib LR GAT AAT, ABT LED ASSL Windows Installer 248 fF
Chexe) ABET HAE.
Python(x,y) Chttp://code.google.com/p/pythonxy/) Jz ¢tt Windows 32 (i, R260 % HAL
FUR, Ha LT matplotlib MAEM RBC, BALE Windows ASE 1 2A
matplotlib (AEA RI CM AEG BID) AYATSh. BAN Python(x,y)#l Python Hite dee
SSA EARS, BY DUAL Sa MUZE Python(x,y) AE fil LAT" We 22-48 HCA, Python FE . ZE2228 Python(x,y)
Li, RAMA LK Pythons
Fi it SL B88] Fda fed 48 FAL Fa PEMY Python, NumPy, SciPy # matplotlib — UE‘
EMEA matplotlib (48. AAG, FR BCEL ATI) MSI RPE PORTO PE A (x86 Dk x86-64)
fy bRefe Python FF. Za, Fae NumPy All SciPy MPA SUES ASAE I. ETE
‘Ge NumPy Fil SciPy Za, BATU FRU BTERTEMK matplotlib — iE Hil 2H MC IPI
WAWAUETT BR To
1.5.3 #h seid
VER, ZE Windows 242 ¢ ("1 matplotlib fiat 447 BL. WAY
J¥, BULL F RIFSAS matplotlib MCFLY HY examples fH ae.
Soe a BLHL RELHEAR 9
16 ARIE TA: Python A&R# (PIL)
Python FASE (PIL) y Python $2 (IE 7 F(R b HEE I. PIL EFI PE SAN AZ
PEPER DHE SURE DE TALS A TH BE
POR AGE UTA], GSE (point operations) . WEE (filtering) . PUSH. WeHe. fe
ELIF (arbitrary affine transforms) JE PIL 4! A200 ARMS IZA CE. Bd, FARA
Sei) Me MI AP histogram WW AK es .
PIL FURR AY DARA He Sf 77 Ti, OTH RUSE. PRM. AE PL. PRR PE
CLR IAISATED.
PUL PY LAGS PUP AS AG SN, TPR ASCH 1 Hs SHE BBE eZ Re AR A
AGMA CREA) »
1.6.1 PREAER
FEE 3 ULERY 7S, ULAR RIO tt PEL UU
4E Debian/Ubuntu ASE EE A NF 6
$ sudo apt-get build-dep python-imaging
$ sudo pip install http: //effbot.org/downloads/Imaging-1.1.7.tar.gz
1.6.2 BRAY
FUDGE ape-get RH LAA PIL HAMA ROE, FFL pip 2H PIL ANSE
BRERA, HARA Ubuntu R26 HAH OE PIL RR AAS
7£ RedHav/SciLinux ABH, RS MK.
# yum install python-imaging
# yum install freetype-devel
# pip install PIL
1.6.3 #h3eBiHA
AP ETT ER PIL iS 4 ER FM. AF AY LA Uy fe) http://www.pythonware.
com/library/pil/handbook/index.htm HE{T PE, BRAE FA PDF MAS: http://www.pythonware.
com/media/data/pil-handbook. pdf.10 Python #48 TAAL AE
Pillow JE—-4> PIL SP32, CY ALBE HH (ty ERD dee Ra 28 fa] BH. Pillow (RASS
G%, SCIHLY http://pypi.python.org/pypi/Pillow -
4 Windows *Y 4 t:, tH HY fH) iE Hil Be CF ee PIL. M http://www.pythonware.
com/products/pil/ F &.exe RIPE. PITA IC HE LK PIL #1) Python ff site-packages
Fak.
OR fs BEE ME FD PIL, APA ert.pth MFFAMLT C:\Python27\
Lib\site-packages Ff) PIL H 3¢ 4 ‘il#] virtualenv (9 site-packages Hat Fo
1.7 232 requests Mik
FATE EAR 5} BAR ABT LUGE HTTP BRA IRAE, A eR AT e BE— BET OR
SCBA Ui lel. Python fy requests /4 AE Li Mo) Te EEE NK.
SR Python 4-068) urllib2 HLH (TV ale AL VEM H Jy DBR HTTP PNAC,
{ELE ABER Se BOE ESS BT. PERE RAY.
Request HIRLE HEMT IK API, wee T HE Web IRS Mate, HEIR EE AAR. Requests
PRET LL HTTP LL AAA, MCE EE SCIRAEBR UAT WL BA SER RA FE
1.7.1 PEER
BH requests BURR M77 UE pip. tS AF
$ pip install requests
AT DAZE virtualeny MeWURSEP GUT 8 tr >, WR IFAT ATI MBG BE requests,
AE AS Fe AS) 50N h BEAEH AS TARAENY requests
AT EAR WEE AR requests (MNIHfE. Fink —-7E I requests (BF.
import requests
r = requests.get (*http://github.com/timeline.json')
print r.content
1.7.2 requests f#}HPLAA
ZEA, BANIAL www.github.com Misiit] URI i HTTP GET ik, LL ISON
SURELY GitHub MH MaRS ile Ch Ay LH Lyla] https://github.comv/timeline #43)
HTML (RAISIN TALE). ERMINE HTTP MS, ER AAT HTTP ma AA)Hie RSLERM 11
BSW YEE. CATTP (RASS. cookies, HTTP Sk 7c¥Ch. Fk to4k SOE AT NI
i
1.8 KM PES matplotlib
matplotlib EEE Fst A AILS FAD BE» AE ACTS FH M8 & 84) Python Fe. EFCC ESC AER re
SCPE, CBS Dy ARB SD Ma HE Be GE BREE © ASA De Sp Ef SS AR A
matplotlib (UAC TEM.
18.1 Ha Le
QUT PT, matplotlib ACB e RUE MAC EESC (ERIN. ZERC EE SCHEP ATLLy matplotlib ()
SLAP DT BS RESEARCHER UCL
1.8.2 PRE
TREATED, HAMAR METS. (ASRS (rcParams) Bia
matplotlib.rc() 4. B-MANE, aL rcParams PHILS
MRNA: BOM AK, ALL] matlotlib. rc () fe ARTES TCADR
Br HI.
MRE RAO MACS, ATLA matplotlib.rcdefaults () #Ffic
HRA NEE.
FIPS Be ROSAS TZ AT ST AH NE 6
4K matplotlib.rcParams MPT.
import matplotlib as mp
mpl.rcParams["lines.linewidth'] = 2
mpl.rcParams[‘lines.color'] = 'r'
(UH matplotlib.rc () MAA MBIT.
import matplotlib as mpl
mpl.rc('lines', linewidth=2, color='r')
ELTA FSA ALIA STE 0 SAME, BATT aE 1 EA TA FE A ER
BEE 2 Rake AMF AEE i — A ARH TD ZO RR EH A,
BRAT Rae, TE PE12_Python $k 48 =] #2 ft Saf 5 ak
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 1.0, 0.01)
8 = np.sin(2 * np.pi * t)
# make line red
plt.rcParams['lines.color'] =
plt.plot (t,s)
¢ = np.cos(2 * np.pi * t)
# make line thick
plt.rcParams['lines.linewidth'] = '3'
plt.plot (t,c)
plt.show()
1.8.3 {URNT
HE, A THHIESK, RGKMNAR, BEF A matplotlib.pyplot Al Numpy Bik.
Cee — TRL, Wet plt.rcParams['lines.color']= 'r' iffy Gs wt
PRA BIE, NET 8: Be POR MEPS ARG A), ULIAAY plt .rcParams['lines.
linewidth'] = '3' SETA Wy 3 hei.
WRG EEA, AMA] matplotlib.rcdefaults () Wik.
19 AWARE matplotib $A
AHS matplotlib (EAI AACE PEE EE, WSCA FARRER ESC PHI REM. li
SEAS SPUN RESC PE ASABE EI
1.9.1 WEA TE
WRAL EEOC matplotlib I ASZE AUS FEAR RB) BEATE CAR SRA AS
PE) «aR Re BEY AS TD APIS LB EAS Td RAR ANS TP A A BI —
EA ANAS LIU GAGS S| ATTA SEAT 5 HES AAS AY LARA SE Dd Ui) BE AS
JH FL) SER EAR
1.9.2 ROPE
(BULLE AL matplotlib (te SA 2 Be EET TRE. BT WS BEE A SFRAR RELHERR 13
AZ PA ARTI MORE AT AADAC. UTTAR, BETES Z Sb, Hak ATSC
LE matplotlib SRAM.
iit matplotlibre ALM FE, matplotlib HEHE TIX AAG ALA StH. ZE
matplotlibre SPH tL FAAS) AY LAE YE
1.9.3 AUPE REBLOA
ACRES PRET ET SATA, EIA RE FEMA. k=
ALE AY BEB MF
© SHIH AR: WMA TM AR. te ARK, WAAR
FARE til] matplotlib ALF. RCRLIC FEMI Ht matplotlibres
© /AP.matplotlib/matplotlibre X¢¢#(Per user .matplotlib/matplotlibre): iW /E4E
FAP MSHOME Hat F CE Windows A¥i'}!, te#isz Documents and Settings Hi).
ALM matplotlib.get_configdir() @ RRA 4H MACHR AR. WB
BL it asf.
© =-3BRC BIC HEC Per installation configuration file): iti?! 2E python fil site-packages
Hat F. RSAC, ALLE RE ROBT 2A matplotlib a, ACH Pe we te. AUC
FRAT LRAT AAT AAG FE, APE EL BEN CE BET BL. BAR, AL
HMAC ESC PF REEDS, SESE RUC BE. MUR CEP See SC eS
ECBORAL, SRP aE E Ay TIL TAC IN, AE PGCE EAT
4E shell HigtT imide, BUA ET ED HAG IC EE A RASA BE
$ python -c ‘import matplotlib as mpl; print mpl.get_configdir()'
ACRES ELLA FACIL.
@ axes: BEAM bR HNL TAU MME. AMR UPR AVA A (9 MS
@ backend: BiH Priilll Tkagg fl cTkAGg.
@ figure: fii dpi, WHBG. ABAD LK (subplot) wit.
@ font: FARM font family) . FAA AIPESC ELE.
@ grid: REM MME MAM.
°
°
FELBI ANSE ASIN MAS.
eR GE. HM. REED Albi.14 Python $48 71 42 1h aE AR
@ patch: ASE 2D MAEM, WA WIGAN. PEACE. BCS ANCE
ae.
@ = savefig: ALR IMIITERET PAB. PIO, BRACRMIIC HN A
@ text: RAPA. SOMME CHUICARK latex brid) F
@ verbose: i matplotlib ZEAUT HM fi BAI, Wi silent. helpful. debug #l
debug-annoying.
@ xticks Myticks: Wx, y HIN EAS MUAAE REGIE. Ard. Frid, WR
EK.
1.9.4 #h FEB
SORORAL TAPAS TA ABATE HERI) ETNA, BORAT UE
Vill matplotlib THA NIMH, AME VET HY APT SCR. WRG BERR EEF, BY
CAEP AIFF Bz mS PF EL A 5 AS PSS TEA OT Ee FE Ee2h
T
AMT, RNSPAU PAA.
+o ooo eo + +
IK CSV SOE EA BGR
M Microsoft Excel 5¢( 5A Sidi
WE TERR SCPE SABE
SABRES A MISC PES ABE
MW SSON SRLS ABE
‘PL SGE BI) ISON. CSV fil Excel
SBE FE SF ABE
SBE AE AE
BETAS BGE ICE
BE BARR
FARR EGE SD) NumPy 2H
AE RCT $8 BEL BA
SCN LY Ff eb16 Python #48] tt ti #2 ae
2.1 fait
ASHER he TAILS HH A A OA DIE AST IEE Zh SL A 7 TK,
HERA —AE Ae BE EPA I. SERRA AE Le — LIES, WEE
HE di BE GUE AT TT BUA.
2.2 MCSV SHSABGE
PEAT, BRATTAS Ae BARE AA EAB fk DB HHH IC A L—CSV BL UL,
CSV AES AP IRE COCR —PIC TES, WEDGES aD)
Python P49 4 csv BUSHES ATT HSU CSV Cf. REN, BA
BH EIN CSV tat, ARTA EBL CSV EATS AT ASIA. SE BUSCHE AL AEN
1s PIR BIC IE A AE Sh UH SO EPG
2.2.1 WE OE
TEATIP, FUE chO2-data.csv XPM AAA Ea BieGE, MATE TE FRB AHH.
PRATT IBE HE 75 AE SCE ASE SAC EAD AL
2.2.2 PER
Fit 95 FL CSP RE T WADA CSV CHES A RR, BRK 6
1. 4TFF ch02-data.csv Xft.
2. AGERE.
3. TAA TT.
4. REAR DRILL SE A
BETES Flt. ATEN SCPE MICA ITA AT 6
import csv
filename = 'ch02-data.csv’
data = []2 TMM 17
try:
with open(filename) as f:
reader = csv.reader(f)
header = reader.next ()
data = [row for row in reader]
except csv.Error as e:
print "Error reading CSV file at line $s: %s" % (reader.line_
num, e)
sys-exit (-1)
if header:
print header
print
for datarow in data:
print datarow
2.2.3 ER
Me PA csv BURL AE I I ITI. Wis. JA with TAT PEE CHE
CREAM £. MORO TERR TE TE HUE EKA CE, with TEP CE
PENDS, CEB LE Pe DRL CEI AE Ta (BE, LAE ET OR CE AR RAT 9G EE
FERC CHEM AC
Wa, A csv. reader () Wik reader WR, MUA BMG TEM
i. HEIR, TARA “MAINA, TEPER BAT ED HK.
SCPRAST—AT ESCA FRSC EE TA, AEDES ADFT AE ASA. SOME
SKIP AS REDS, FE CSV SCP RRA SCE SG» (ELE EA VARY SE EAE PRISE Po BAIR AD TEL
ERM AMB RIAN RTT, ALIMAMA) A BA CAS Re DL TE 70 HE BY CSV 3
fy RAR SCA SC BD EH
SIE EET FESR EB TEBE SEE CAB EE CPE ATHILAT 2 JRE
Linux 4¢ 1-1] bash fit Ul head WLR AS HB, HSU Rta.
$ head some_file.cev
Cesk GSA, ERATE AT FER CES, ETAT IN BBE AEP
BEROCtRIN FL TAL, csv. reader () WKS RUE UMA EL. NT RET
SOLIDE, TY DAA AIS i ASR AES 2 A ED A 418 Python #48 * A(t a #2 SE a
2.2.4 #DFEBEA
WRAL T fF cov BURAK IEIK, BTL — F PEP CRAY (CSV Sct API), BAL
http://www. python.org/dev/peps/pep-0305/
UFR AB I BA BA SCE» BA SE EF — AE GN] NumPy ff] Loadt xt ()
Ti%K) ATT IE AT WAR F HE CSV BEC EE
FARAH MA, tO FABRA.
import numpy
data=numpy. loadtxt ("ch02-data.csv',dtype="string', delimiter=',")
ARNE, WT AEE NumPy iE WRG, TEBE MOTT. numpy. loadtxt ()
FPEMAMAN numpy.genfromext () ABER, (ELAR a Pr AG BE AE Hh Gh
GEL AES aR SCRE DIS, BY ME Ee ER HE LP ES SY
Ait, # Python 2.7.x RAY, csv HERA AFH Unicode #44, 5AdeIe
FR SAB BX EAR AT 47 Fp oy UTF-8 34 ASCII 4444, ‘FH 44 Python
CSV RASA T SE RE RAE Mi AD 1) FEO AR OE
Python3.3 AG 4: AK ABRIAX AF Unicode 44, AA IK A.
2.3 A Microsoft Excel 3c #}S ABE
48 Microsoft Excel #52 iti FABRE, (ELLIS Ri SE SE RH ANSI AC AT LR
a Fs BEE MA 28 Ps SH] Python "PLA PRL a 6
MA Excel SCPE A BR IU 9 HUE REE MA Excel "4 HH) CSV fest C ehh,
Ra Ea Pie Bl 9 7 AEA Python MA CSV SCPFAEEA BGR. MUR AA ATSC GE
AL T Microsoft Excel #% OpenOffice.org) » e141 ah 4. (FFE Gu OAR FI ay He St
SY ACCP SUEAT A EAL HE 2 EE hI — PBS)» BA FE AES Excel
SCH PERK CSV CPE RLAT AGT . FIC, FREE —B ERTEIR Excel Cf.
iii www. python-excel.org JASE FEE, Python BI LUE RFs 3 FF Excel 3c
PRE SHEE. ABE EAS Bee C4 RL ASA BSCR, TLE PG ER. BR
Ly RAMA TBM Excel CFT LAE E Windows FE THe.
Microsoft Excel 3 (i 3 B25 IN Ta] 2245 548 (6, ASIA Python HEREC ALIS
TESA, XLRD RBM MALE 0.90, COAL BEM. xlsx MAT»B28 TMH 19
2.3.1 Hea TE
PEE, PRATT BE EET AGB, FER ME TEA xd BR. BUTE pip
TE REAUSE BSP BoE HT
§ mkvirtualenv xlrdexample
(xldexample)$ pip install xlrd
BASES, BAPHIH ch02-x1sxdata.x1sx Al CAGIOR.
2.3.2 DEER
HEEB REA BA IE As fT MSY Excel 3 FE SEI — AE AER
1. FES AERY THES
2. ARG PAR SIT ede. HTH Cnrows) AI (ncols) HIRAM.
3. AA RA ALES, ABET ED T PER HT SES 6
import xlrd
file = 'ch02-xlsxdata.xlsx"
wb = xlrd.open_workbook (filename=file)
ws = wb.sheet_by_name('Sheet1")
dataset = []
for r in xrange(ws.nrows) :
col = ()
for ¢ in range(ws.ncols):
col.append(ws.cell(r, c).value)
dataset .append (col)
from pprint import pprint
pprint (dataset)
2.3.3 TEE
LRAT FB xlrd BORN PSO. Fed LEMS — TS
ATER Cxlrd.sheet.Sheet) (T(E (Python 2% xlrd.book.Book). f+ THE
FH PRIM Cxlrd.sheet.cell), BAHAR TON TEETER HK.20 Python # #8 #1 #8 1k fe #2 Kak
BULLI open_workbook () Wik, RAMA MRT —7T EM, TEI
xlrd.book X#il. Book KMUAT—T> LGM A, WPM. MAL
sheet_by name () WAV EM TR, WR REA THe, AY EAH
sheets() Wik. sheets() Wiki I—* xlrd.sheet.Sheet 3 fl fH Wl #
xlrd.sheet.Sheet KAT ASIATE, BUM AUER HOE A EEA, J etht
WAFA cell () Aid AR Ui lel LARA ITE MA EMOTE. SURAT xrld.sheet .Cell
HK, IFAM EEE 5
TER, FUWDE DUP AGB AEE +S Neti). HEU, xed BEAT AE I
PERCE IL, SPHEWT HH RARER LE RPE, BRAT ae EEL A AS
ROK Python date HR. WR FE ARAM, xird SBI] xlrd.xL_
CELL_DATE {FA ICH RAY. IAL BURBS EAI a:
from datetime import datetime
from xlrd import open_workbook, xldate_as_tuple
cell = sheet.cell(1, 0)
print cell
print cell.value
print cell.ctype
if cell.ctype == xlrd.XL_CELL_DATE:
date_value = xldate_as_tuple(cell.value, book.datemode)
print datetime(*date_value)
EP AF BGR ETL. AE, EEE A REE, BLE TC
AAG LE FR
2.3.4 #96
cL BESSA
65535:
print >> sys.stderr, "Hit limit of # of rows in one sheet (65535)
break
# XLS is special case where we have to
¥ save the file and just return 0
f£ = StringIO.stringI0()
book. save(£)
return f.getvalue()
4. ii, eK main AOU, MET OTS BP AMC, SABIE
HARE RISK30 Python #42 4 1 a TAR
if name == '_main_':
# parse input arguments
parser = argparse.ArgumentParser ()
parser.add_argument ("import_file", help="Path to a fixed-width data
file.")
parser.add_argument ("export_format", help="Export format: json, csv,
xlsx.")
args = parser.parse_args()
if args.import_file is None:
print >> sys.stderr, "You myst specify path to import from."
sys.exit (1)
if args.export_format not in (‘csv', "json", *xlsx') :
print >> sys.stderr, "You must provide valid export file format.”
sys.exit (1)
# verify given path is accesible file
if not os.path.isfile(args.import_file):
print >> sys.stderr, "Given path is not a file: $s" % args.import file
sys-exit (1)
# read from formated fixed-width file
data = import_data(args.import_file)
# export data to specified format
# to make this Unix-lixe pipe-able
# we just print to stdout
print write _data(data, args.export_format)
2.7.3 “THEE
BELLE, PIES AE BRS A CLE 2.4 “NEE BORIC PE ABE” ESO,
BATFE stdout, MMV ERICH, BEE I — MPI
MG, Mir OTT RY, EPS. MATES ASCP ESE CISON,
CSV il XLSX) .
UVEITIS BOT, JEMAICAIRAT import_data() Wik. Wa, BATE
Python Sci 2H) CHUANG, ATID BA Ar (EMRE SCALA RE IED Bs BST
fEwrite data() Wi, RANA ACR HA SIM IE (LM write_csv()B2R TMB 31
Fi)
4E CSV", BANAB—* csv.writer () Xl, AER RT ES
BALI.
Dal iy 5 BEA EH AA BAT AAP eB 3 — A RAE PT cat BR
{ED REE Ti Ak I IEE
json HUREGEAY dump () 7774 8] DURAEAHEEIR Python NYSGRLE, ST LAER MBL
FP ISON HSH BRIE SEA a BETAS. AEF CSV, BUTTE Te Ase [le OES ie
stdout.
Excel SF thi ij SE LOBE YAU, BRI Hy hg BE Ot 4 1 J SZ AYA Excel VE SANT PEMA
BURR BCE. BERRI T(E ANTI TAC Hy CIOL, APIA, SPE a
PRS RE AT AN AY FAB 8 FE AT IRE — FB
Jia, 4 Book SEPIRAERESIC (HAL, BORAT LUO CIEE stdout. Wa, BERT
DUCA AUER ACR, teATLLit Web service 74 8H.
2.7.4 ¢h 36M
SHOR, OUR REE BE CI — MS. MURA SN Heh, Bh
EAR SPA. ARAN EEN: SRE. UR ABN
BA, WT BB SA
DSRS DN — ATA SAN A, BS aE BES IT BE — A TE
Ja, BR write _data() Wik, MEM eis PSIOKIL CA write _* ik.
Fi — PPE ALS SER EEL ESAT MR —7> Python 2, XARA LES EE
To WR ARPA, BURT DL BRIS A SERIE, BRR SAE SEAT EA.
28 SGEESASGE
SEARLE, BOR APTANA PLAGE Pe Ab Ze ti aR Bh. ERATE A
CYB, EAE LAE SEE 5 UL, AE BE Ee HR BO Ce aE
HARE TASTES AS, BRAY AY A i Se AH Oe A EE
ATHS aR ¢E Python PUN fAl HH] SQL drivers ij ial BK »
AWA BLRIT SQLite BURVE, AWE WRK BEL eb, lala AS Ht32_Python $= (kM a
{HEF SQL (VRE MES|H (MySQL Fi PostgreSQL) (HEH. ALL. HME S| SE
SEPA SQL Fi 5S 2b AEA Teo IMF AEA LY SQL TA a, PU E RS BC FI SQL
BOERS | La AT HAY 6
2.8.1 Hea CHE
CEMREANT FM AAR ZA, PG AG BE LORE SQLite FE.
$ sudo apt-get install sqlite3
Python #XiA $F SQLite, Abt A a SEF Se E ATS Python MISEHI ARG. HT LAZE IPython
PUT FRCS — BALA BAS Bee OF
import sqlite3
sqlite3.version
sqlite3.sqlite_version
FTI VAAL Pi OT HH
In [1]: import sqlite3
In [2]: sqlite3.version
out[2]: '2.6.0'
In [3]: sqlite3.sqlite version
Out [3]: '3.6.22'
3X4H, sqlite3.version i&[A] Python ff] sqlite3 MURMIMAE, sqlite_version
JBI ABE SQLite HE AIIRAS.
2.8.2 SEB RR
AT FE WERE EE, BELA FAG RS
1. ERERCFESIME CORAL SQLite KF).
2. CEREAL BUT ARE
3. BEI SE Pe S| FS IIH
AAA UE PERU SQL, ANAT STIR FIR IAS. HN TIE A RHA
BATA PIX TS PY SQL PEMA A).
SELECT ID, Name, Population FROM City ORDER BY Population DESC LIMIT 1000
IXIA M City Fi T ID. Name All Population SF) (FFL) AY. ORDERB2R TMRH 33
BY FURS PE S| S42 Population HT BARMETHF, lit DESC THEE METS.
LIMIT {€PCUF ERATION LEA BEA HT 1000
MIF, BEE world.sql WHIP MN. RPRAAT SHAM eA
AG, FikBit 5000 AATEC.
FANE MP 2-1 a6
r
2
3 aoza Mumbai (Bombay) 10500000
a 2331 Seoul 9961619)
5s 206 Slo Paulo 9968485
6 1890 Shanghai 9696300
7 ‘939 Jakarta 9604900
8 2822 Karachi 9269265
s 3387 Istanbul 8787958
10 215 Ciudad de Mexico 9591309
n 3880 Moscow 8389200
12 3793 New York 8008278
13 1532 Tokyo 7980230
a4 3891 Peking 7472000
15 456 London 7285000
16 1025 ethi 7208704
7 608 Cairo 6789479
18 1380 Teheran 6758845
19 2390 Lama 6464693
20 1992 Chongqing 6351600
a 3320 Bengkok 6320174
Z 2237 Santafé de Bogots 6260862
fA21
PSG BHEIAT SQL SC¢FFA FI SQLite BABE, FMT Fe
import sqlite3
import sys
if len(sys.argv) < 2:
print "Error:
You must supply at least SQL script.”
print "Usage: %s table.db ./sql-dump.sql" 8 (sys.argv(0])
sys.exit (1)
script_path = sys.argv(1]
if len(sys.argv)
db = sys.argv[2]
else:34 Python #48 7 2 1t HAE ae
# if DB is not defined
# create memory database
db = ":memory:"
try:
con = sqlite3.connect (db)
with con:
cur = con.cursor()
with open(script_path,'rb') as f:
cur.executescript (£.read())
except sqlite3.Error as err:
print "Error occured: %s" % err
SABC STEM SQL SCE Y SQL ity, AALEFT FFI SQLite db SCF EAT. WR
ASHE db MIF, SQLite BEA FE NE —TEGEE, BASTING.
GURGES TBR, REAR SARE Ti SPIER es TT E28 LP
TERME SABER Z Jes BATE AE HASH SEE TT — MERE To DO AE RE
PER BE CS.
import sqlite3
import sys
if len(sys.argv) != 2:
print "Please specify database file."
sys-exit (1)
db = sys.argv(1]
try:
con = sqlite3.connect (db)
with con:
cur = con.cursor()
query = 'SELECT ID, Name, Population FROM City ORDER BY Population
DESC LIMIT 1000°
con.text_factory = str
cur-execute (query)
resultset = cur.fetchall()
# extract column namesR2R TRB 35
col_names = [cn{0] for cn in cur.description]
print "10s %30s %10s" % tuple(col_names)
print "="* (10+1+30+1+10)
for row in resultset:
print "10s $30s %10s" 8 row
except sqlite3.Error as err:
print "(BRROR]:", err
2.8.3 CAEL
PASE, ROAEA PE RBS T BR PEC PRA. UE OIE, RATTAN,
ATR PARAS.
BE POR UERAGRIE. WRIT» EAR] sqlite3. error JHB AI.
WI FGEBE RID, BAMBI con. cursor () PE —MiF pK. WER GIRARD, ETE FR
4) 1388 BAG FE LE RP HR
FATE T REE, SPREE, DUT ACIAERIBELL cur. fetchall ()
PARK. WRAMIR KAR, ATLA fetchone () «
4£ cur.description Li iTAlZeme eT PER Bl BAHN Z . description ft
TURE, CAT RENE. ETE BAB — TF 7 ICRI TO, RL
BIA, RUMEN —FICR
RAE (FEL (0) IP AAG SR CT ET AEM BRS A, ARTE RE REAR IR OL,
MOAT RAT ED EAT
2.8.4 ¢h3eBiH
BORE HRT IBGE. CEA MSP, BATA TA TMTAL LS, REWN As
BA FMEA.
WALES DOE PERE TE TT TUL, 7 Python SOME. AFT ILS ALI
BCHEHE, tl MySQL. PostgreSQL #1l SQLite. BCH FE SUBLIME EL aE ABE, HN
MS SQL, Oracle fil Sybase. Python X4F AMA AGEE. MAAR MEO. ATLL WR
HER T, RRA IIE. (NTA AG EE HENS, UATE UH Te
TEAR TES PMN, Oracle SAF —AET IMI PL/SQL, EATERMEN SQL. WE
BREN Oracle EW MS SQL, HAEMITA TLE T. ARAN, SQLite AIK MySQL Hci
RAN ARES |G (MyISAM il InnoDB) MUTE. AES THEM, (LLC36 Python $48 9 1b fe TAR
‘bRAE SQL Chttp://en.wikipedia.org/wiki/SQL:2011) Z2ik 3A Sam ABE A TSA 5
29 BRB
ATT FIA MU fa] AFB ECSTASY ETE
RNS HAAN, REMAN AA, BTR.
PRI. TEA AERA AB BE A PL CE A AR
ZL, RATE TERE, APRA Coutlier) Lt, JE AW Cath
CBG. (EE, EEA AEA AP RAINE URE, ADE ROME Ai. mee
the. SUA CRE Eo
2.9.1 WER TE
FUT EF CAAA Python $RHEBERR, ANG BEPC E
FEAT, BRAVES 4H K]—MAD. FER Le, PAE (Median
absolute deviation, MAD) J&A KHRPEM (fe —PARRD PEASE BE Pa) EE A
— PPE. EPR AA, AE RTE ASE BP, ALOE AS ATR
SiH.
2.9.2 PEER
FRA T uf AY MAD OR RS SR ASAE PTE AR Ee
1. 4p O~1 Zl] ABAHLAAE (normally distributed random data) »
2. MAHA.
3. Al is_outlier () WiAHWF MIL.
4. LPP BOERS (x Al filtered) MER. MRENNEKA.
import numpy as np
import matplotlib.pyplot as plt
def is_outlier(points, threshold=3.5):
® outlier: AEE a FEA. PORTA. ATI LA) “SAL: SACRE NR, SEMA IR eS CRE) MARA
PSC REIN. ARSE PR AR. CREDBIR TRE 87
Returns a boolean array with True if points are outliers and False
otherwise.
Data points with a modified z-score greater than this
# value will be classified as outliers.
# transform into vector
if len(points. shape)
points = points[:,None]
ry
# compute median value
median = np.median(points, axis=0)
# compute diff sums along the axis
diff = np.sum((points ~ median)**2, axis=-1)
diff = np.sqrt (diff)
¥ compute MAD
med_abs_deviation = np.median (diff)
# compute modified z-score
# http: //www.itl.nist.gov/div898/handbook/eda/section4/eda43.htm#
# Iglewicz
modified 2 score = 0.6745 * diff / med_abs deviation
# return a mask for each outlier
return modified_z_score > threshold
# Random data
x = np. random. random (100)
# histogram buckets
buckets = 50
# Add in a few outliers
x = np.r_[x, -49, 95, 100, -100]
# Keep valid data points
# Note here that
#/ "=" is logical NOT on boolean numpy arrays
filtered = x{~is_outlier(x)]
# plot histograms
plt.figure()
plt.subplot (211)38 Python i871 ER
plt-hist (x, buckets)
plt.xlabel (*Raw')
plt. subplot (212)
ered, buckets)
pit.
plt.xlabel (‘Cleaned’)
>1t «show ()
TER, 7E NumPy 'f, “~" BREA BEER “SBE TE, PEI YEAH As BA Ly
IERIE. AMBIT, Ze pylab Hist F JAH Python.
$ ipython -pylab
PEER Fo
In [1]: ~numpy. array (False)
Out[1]: True
UPS 2-2 tas AL PS AST EL Ty PL SPA BR TARR ZT As
WAL} Ly SBR TRAE. Glos T & PCI
80 2 4 08 of 70
22
yA Se ELS Fa 9: LA PEE RATT AT DA 2 HB
HAART MIL, tL AT LLeE ill ATLA Cox plot) . BOREL
ABR FDU AY EI, A Be ioe A HS?
*
AP, BOPP AEE 5a th
Pt. EDU}
(PLBIR TMH 39
FEA) SECA EA AER DU Fp Air Eh BB, PE Ae 5 HE HH
whiskers) Sis 7 SRE. RE AYU ACE EL
Fin Bear Blt.
from pylab import *
# fake up some data
spread= rand(50) * 100
center = ones(25) * 50
# generate some outliers high and low
flier_high = rand(10) * 100 + 100
flier_low = rand(10) * -100
# merge generated data set
data = concatenate((spread, center, flier high, flier_low), 0)
subplot (311)
# basic plot
+ 'gx' defining the outlier plotting properties
boxplot (data, 0, 'gx")
# compare this with similar scatter plot
subplot (312)
spread_1 - concatenate((spread, flier_high, flier_low), 0)
center_1 = ones(70) * 25
scatter (center_1, spread_l)
xlim({0, 50])
# and with another that is more appropriate for
# scatter plot
subplot (313)
center_2 = rand(70) * 50
scatter (center_2, spread_1)
xlim({0, 501)
show ()
GPE 2-3 ia, APB EH x TEAR i bias tH Ee BL40 Python $48 71 HL 1 RE EM
FA PS AC PRY FCB as TALI SR A. AL RE XR LAB 25, BT
VARA EA. Hh RAT TG TEE FE OK 5p AL Cini ) ANTE SR A EL
(outlier) »
ZEB, Ze X BILE REAL) ANTE O~SO MITE TELA, ESCA a a te LS ALTO
ANlel, CoA MS Ze Y fl bE BELLE SE NEAL.
TE POA as, BU BUA CLEA PE oy) CEASA EAE
UL BGR SAYS ARIAL, EEE ALIN Wein ES aa TER Ee
# generate uniform data points
x = le6*rand(1000)
y = rand(1000)
figure ()
# create first subplot
subplot (211)
# make scatter plot
scatter (x, y)
# limit x axis2H TRB 41
xlim(le-6, 126)
# create second subplot
subplot (212)
# make scatter plot
scatter (x,y)
# but make x axis logarithmic
xscale('log')
# set same x axis limit
xlim(le-6, 1e6)
show ()
HOPS 2-4 rake IER.
200000 400000, 00000 "8000001000000
10° 10* 10” 107 10? 10° 10' 10 10° 10* 10°
2-4
WSS Cs 47D ABL Cmissing value) S296? BTL NumPy dnaeae ka Mesie RAL,
BATA LAS UAE HERR ATT TE EEL, DRE ATE.
Meg WO BRA ARIE BE SE Ao bas i CE SS Hh CES A PY A — 2 AS
“BUM. filttl, OH, Ohio, OHIO, US-OH Fl OH-USA ABARZEIELH MY Ohio M. CERAM
FB, Fee E11] ALF) Microsoft Excel A# OpenOffice.org Cale fF, HSH ABET F42 Python $48 71 10 (te EE
Byte. AMAA, AaB Python 424s FFT CU RAT AK. WRC RE CSV
SCHAAR CSV SCE, ATLA PEI ACA ai AT IPE, BER AE AE 6
ZETA SE T BORA AZ Ja, ATLAS Python {UIST MILE PAL, HEBEL
DET PH, DIRIK OR BGR LIE BME. GH MIE, FL readlines () Wii IC
PERIATET. TP AV RME Python 75 HDR E AT UE AT BBR TE
2.9.3 hci
4) META MAY ANAL (HM AGF” Hb, Chl OpenRefine, 41 https://github.com/ OpenRefine), $2
PET ERTS ” HSE BE BAERS 6
RUG, HEMEL RA LE SI. ATS SNS DRT BSE IR
FSAI ART AH 9 FA Po
WU RAE: 2] EA SP EE AS SA BAT, FS
(statistical models) AUKFEFEI@ (sampling theory)
2.10 jiRELAR RGEC
Python 4} 48 KMb ESCHER CPE BATES | UN, WR AGAIN —7 LE MB ft
FOCth, BURA 2GB A FERIELARTE SDL, Python Ab $b Ra AS 2549 EA Ue
By AS eS I A PALA TR Se GE IA
BALMER PAB TSC AATF THE GASP) ER AIS
with open('/tmp/my_big_file', ‘r') as bigfile:
for line in bigfile:
# line based operation, like ‘print line’
(Ae On ARBER SC EHP SEE, RAT — MAEM E OBE RR TE. BRAT AG BE
FILS UAE KS BP BL RGM 10 Wik, Wl seek () tell () .read()
Al next (). KHETEKS BREE AT C ILE ORUEPE RSC EMI) »
UIST SAE, (UEHUE DE RSNA, TEMA ATA
2.10.1 PREPIR
FUSCA AY AE BY DFE BET, OUR T RANMA EA. Ge, ALLER
1000 47, Y8JaFH Python free AIF ICE AT UE TT hE, AUTBIR TM 43
import sys
filename = sys.argv[1] # must pass valid file name
with open(filename, 'rb') as hugefile:
chunksize = 1000
readable ="!
# f you want to stop after certain number of blocks
# put condition in the while
while hugefile:
4# if you want to start not from Ist byte
# do a hugefile.seek(skipbytes) to skip
# skipbytes of bytes from the file start
start = hugefile.tell()
print "starting at:", start
file block = '' # holds chunk_size of lines
for _ in xrange(start, start + chunksize):
Tine = hugefile.next ()
file block = file block + line
print "file block’, type(file block), file block
readable = readable + file block
# tell where are we in file
# file I0 is usually buffered so tell()
# will not be precise for every read.
stop = hugefile.tell()
print 'readable', type(readable), readable
print ‘reading bytes from as to $s! § (start, stop)
print ‘read bytes total:', len(readable)
# if you want to pause read between chucks
# uncomment following line
# raw_input ()
ZE Python fir OAT MP RE SE PBL ETS, BRC EB FBR.
$ python ch02-chunk-read.py myhugefile.dat
2.10.2 fF =
PATA A AE EE BN CAPT EAT ACL, AEE CIR AE
FE, FRC, 26 for (RAMTEC. TECH Ba) RANE CARL
WAH next () RoR. PATER ICHE IN AT, PRE SCPETBBLS AT. T th
Han PR, RAT AIHE file_block JNEVHiHIEH readable /, BUTEA.
PEAT ALE 1) — BEET EDR YE HE DT BEA REE BE 4 HARA»