Seri 5 pos untuk pemula adalah remix dari bab pertama buku 2015 berjudul Clojure for Data Science. Penulis buku, Henry Garner, dengan baik hati setuju untuk menggunakan bahan buku untuk remix ini menggunakan bahasa Python.
Buku ini ditulis sebagai undangan untuk apa yang disebut "ilmu data", yang telah menerima dorongan kuat dalam beberapa tahun terakhir karena kebutuhan akan pemrosesan set data besar yang cepat dan tepat waktu secara lokal dan dalam lingkungan terdistribusi.
Materi buku disajikan dalam bahasa yang hidup dan disajikan dalam gaya yang berorientasi pada tugas, terutama dengan penekanan pada analisis data menggunakan algoritme dan platform komputasi yang sesuai, dengan penjelasan singkat dan langsung diberikan di sepanjang jalan.
Tidak adil ketika materi pendidikan yang sangat baik mengumpulkan debu yang tidak diklaim hanya karena fakta bahwa materi tersebut diimplementasikan dalam bahasa yang agak akademis, jika bukan bahasa elit, seperti bahasa pemrograman fungsional Clojure. Oleh karena itu, ada keinginan untuk menyumbangkan kelima kopeknya agar bahan buku tersebut tersedia untuk masyarakat luas.
Tiga bab dari buku itu diadaptasi untuk Python selama setahun berikutnya setelah buku itu diterbitkan, yaitu. pada tahun 2016. Publikasi remix buku di Federasi Rusia tidak berhasil karena berbagai alasan, tetapi salah satu alasan utama akan menjadi jelas di akhir rangkaian posting ini. Di akhir postingan terakhir, Anda dapat memilih atau menolak rangkaian postingan berikutnya. Sementara itu ...
Postingan # 1 adalah tentang menyiapkan lingkungan dan data.
Statistik
Yang penting bukanlah siapa yang memberikan suara, tetapi siapa yang menghitung suara
- Joseph Stalin
, , , . , , , ยซ ยป ยซ 80/20ยป. . : .
, Python- pandas. , , , numpy . โ 2010 . 2011 . โ , .
SciPy: SciPy - , pandas , , NumPy .
. SciPy , NumPy , pandas -, - . R Python, REPL, . , .
. - , , :
import numpy as np
import scipy as sp
import pandas as pd
, Python . , , random , collections , Counter.
pandas , DataFrame
, .. , , . , pandas , . , , . pandas , , , , :
(.csv) (.tsv),
read_csv
Excel (, .xls .xlsx),
read_excel
( , -, , JSON-, HTML- . .)
โ Series, .. . , , .
Excel, read_excel
. โ โ , . . . , :
pd.read_excel('data/ch01/UK2010.xls')
, . load_uk
:
def load_uk():
''' '''
return pd.read_excel('data/ch01/UK2010.xls')
DataFrame
pandas, . , .
UK2010.xls . pandas read_excel
. โ columns , (.
):
def ex_1_1():
''' '''
return load_uk().columns
pandas:
Index(['Press Association Reference', 'Constituency Name', 'Region',
'Election Year', 'Electorate', 'Votes', 'AC', 'AD', 'AGS', 'APNI',
...
'UKIP', 'UPS', 'UV', 'VCCA', 'Vote', 'Wessex Reg', 'WRP', 'You',
'Youth', 'YRDPL'],
dtype='object', length=144)
, 144 . ; :
: , ( )
: ,
: ,
: ,
: ,
:
, , , . . , , 2010 ., Election Year.
pandas () () . , . :
def ex_1_2():
''' " "'''
return load_uk()['Election Year']
:
0 2010.0
1 2010.0
2 2010.0
...
646 2010.0
647 2010.0
648 2010.0
649 2010.0
650 NaN
Name: Election Year, dtype: float64
. , . , , , unique . pandas , , Python. :
def ex_1_3():
''' " " '''
return load_uk()['Election Year'].unique()
[ 2010. nan]
2010 , 2010 . , nan, . not a number, .. , , .
, , , , . Counter
Python collections
. , , .. :
def ex_1_4():
''' " "
( )'''
return Counter( load_uk()['Election Year'] )
Counter({nan: 1, 2010.0: 650})
, , 2010 . 650 . , , . , , nan , . , , .
, 80% . .
nan , . , pandas , . pandas.
pandas, , . , . , , :
def ex_1_5():
''' " "
( )'''
df = load_uk()
return df[ df['Election Year'].isnull() ]
|
|
Press Association Reference |
Constituency Name |
Region |
Election Year |
Electorate |
Votes |
AC |
AD |
AGS |
... |
650 |
NaN |
NaN |
NaN |
NaN |
NaN |
29687604 |
NaN |
NaN |
NaN |
... |
dt['Election Year'].isnull()
, , , False
, . SQL, , WHERE
.
ex_1_5, , ( ) NaN
. , Excel. . notnull()
, , NaN
:
df = load_uk()
return df[ df[ 'Election Year' ].notnull() ]
. , load_uk_scrubbed
:
def load_uk_scrubbed():
''' '''
df = load_uk()
return df[ df[ 'Election Year' ].notnull() ]
, : load_uk
load_uk_scrubbed
. 650 , .
, . โ โ , . , , , , , .
Contoh kode sumber untuk posting ini ada di repo Github saya .
Bagian selanjutnya, Bagian 2 , dari seri posting Python, Data Science, dan Choices berfokus pada statistik deskriptif, pengelompokan data, dan distribusi normal. Semua informasi ini akan menjadi dasar untuk analisis data pemilu lebih lanjut.