Materi workshop Basic Python dan Implementasinya untuk Analisis Data untuk acara LPDP ITB SmartWeekend 27-28 Januari 2018. Workshop material of Basic Python dan Implementasinya untuk Analisis Data for event LPDP ITB SmartWeekend January 27-28th 2018. Link to slides https://slides.com/jessiesetiady/basicpython/fullscreen Python,
dan Javascript adalah bahasa pemrograman yang trending* di akhir 2017 / awal 2018 * banyak dicari di stackoverflow source: Stack Overflow Peningkatan jumlah orang yang mempelajari Python di tahun 2017 (codeacademy).
Motivasi untuk Mempelajari Python Berdasarkan artikel [1] : Meningkatnya minat pada bahasa pemrograman Python terasosiasi dengan peningkatan minat terhadap data science. Popularitas Python pada data science dan machine learning ikut mendukung peningkatan minat untuk mempelajari Python. Mengapa banyak orang memilih Python? Padahal masih ada SQL dan R yang juga menunjang data science. Salah satu faktornya adalah versatility* dari Python. Ada lebih dari 125.000 Python Libraries [3], yang menyebabkan bahasa pemorgraman Python dapat bermanfaat untuk tujuan spesifik, seperti web development, text processing, hingga machine learning. versatility = kemampuan / kepandaian yang beraneka ragam Python untuk Analisis Data? Python telah menjadi bahasa pemrograman populer untuk analisis data. Dengan dukungan libraries seperti panda, NumPy, dan matplotlib, siapa pun yang mengenal sintaks dan aturan Python dapat menerapkannya untuk memproses, memanipulasi, dan memvisualisasikan data. Read more:
Python Essential Libraries untuk Analisis DataNumPyMengelola array dan array multidimensi. Operasi vektor dan matriks. PandasAnggap saja Pandas adalah spreadsheet namun tidak memiliki GUI Untuk mengolah data seperti join, distinct, group by, agregasi, dan teknik seperti pada SQL
MatplotlibVisualisasi data ScipyMenangani operasi aljabar dan matriks serta operasi matematika lainya Penjelasan lebih detil lihat di section paling bawah. Read more: https://www.codepolitan.com/5-library-python-untuk-data-science-59b774b6cad97 Basic PythonInstalasi
Python Syntax
(Sebagian) Coding Best Practices and Conventions
Quoted from Pep 0008:
Read more: https://www.python.org/dev/peps/pep-0008/ https://google.github.io/styleguide/pyguide.html String and Console Input
Contoh program: Tip Calculator
Conditional and Control Flow
Functions
Lists and DictionaryLists
Kamu bisa meng-assign items ke sebuah list dengan ekspresi berikut:
item-item diletakan didalam tanda kurung [] List juga bisa kosong: Mengakses List berdasarkan indexKamu bisa mengakses item pada list lewat index-nya. Index adalah alamat yang mengidentifikasi item yang terletak pada list. List index dimulai dari 0. Jadi, kamu bisa mengakses item pertama dari list dengan cara berikut:
List LengthSebuah list tidak harus punya panjang yang tetap. Kamu bisa menambahkan item ke list kapan saja.
List SlicingKadang-kadang kita hanya ingin mengakses sebagian dari list
Pada contoh diatas, mula-mula kita membuat list dengan nama letters. Kemudian, kita mengambil sebagian dari list tersebut, dan disimpan dalam
variable list Berikut adalah syntax List slicing : Start mendeskripsikan dimana slice dimulai (inklusif), dan end adalah dimana slice berakhir (eksklusif), dan stride mendeskripsikan jarak antar items pada sliced list. Contoh: stride = 2
Slicing Lists and StringsKamu dapat men-
Jadi, jika list slice yang ingin kamu ambil termasuk item pertama atau terakhir, index nya tidak perlu disebutkan (cukup ":" saja) Maintaining OrderKadang-kadang kamu harus mencari item dalam sebuah list. Method
Kita juga dapat menyisipkan item dalam sebuah list
For One and AllJika kamu ingin melakukan sesuatu yang berlaku untuk semua item pada list, kamu bisa menggunakan
Variable akan mengikuti for (semoga ngga bingung). Jadi si variable akan diassign dengan value setiap item pada list. perintah Method sort() digunakan untuk mengurutkan isi list
Menghapus item dalam List
DictionarySebuah dictionary mirip dengan list, namun kamu dapat mengakses value dalam list bukan dengan
Menambah, Mengubah, atau Menghapus Item pada DictionaryKita bisa menambahkan pasangan key/value baru pada dictionary setelah dictionary diciptakan:
empty dictionary len() dari dictionary adalah jumlah pasangan key-value pada dictionary tersebut. Setiap pasang hanya dihitung satu, meskipun valuenya adalah list. Item dapat dihapus dari dictionary dengan menggunakan perintah perintah tersebut akan menghapus key dengan nama key_name dan menghapus nilai yang berasosiasi dengannya. Value yang baru dapat diasosiasikan dengan key dengan meng-assign value ke key, seperti:
Dictionary dengan banyak value list
Pada contoh diatas, kita membuat dictionary yang berisi beragam tipe key "fish" isinya list key "cash" isinya int key "luck" isinya string Pada baris akhir, dicetak ke layar karakter "c". Kita mengakses dictionary pada key "fish" yang berisi list, kemudian kita dapat akses ke value pada index 0 pada list yang disimpan dalam key "fish"
Join List
LoopsWhilePerintah
Break
Contoh penggunaan
While / elseHal yang berbeda pada Python adalah
bentuk perintah Pada contoh ini, loop akan keluar / break jika A = 5, sehingga
For loopCara lain untuk melakukan loop adalah dengan perintah
Multiple listsJika ingin iterasi pada dua list dalam satu waktu, fungsi zip akan membuah pasangan element, dan akan berhenti pada elemen terakhir list yang panjangnya lebih pendek
For / elseSama seperti Pada kasus ini, jika statement else dieksekusi setelah for, tapi hanya jika for berakhir secara normal (tidak terkena break)
ClassPython adalah sebuah bahasa pemrograman berorientasi objek. Untuk mudahnya, kamu dapat mengganggap objek sebagai sebuah struktur data tunggal yang mengandung data dan fungsi. Fungsi pada objek disebut method. Sebagai contoh: ketika kamu memanggil Python akan memeriksa apakah string object yang kamu lewatkan punya atribut panjang, dan jika ada, maka value yang terasosiasi dengan atribut tersebut akan dikembalikan. Python akan memeriksa apakan my_dict punya method Iterating Over Dictionaries
Class SyntaxSebuah basic class hanya terdiri dari keyword class, nama kelas.
File input/outputBagaimana jika kamu ingin membaca informasi dari sebuah file pada komputer kamu, dan/atau menulis informasi ke file. Proses tersebut disebut file I/O (I/O singkatan dari "input/output")
Analisis Data dengan PythonBasic Statistics di PythonSum
Average
MedianMedia adalah bilangan tengah pada sekuens bilangan yang terurut. Kamu bisa menurutkan sekuens dengan fungsi
VarianceMari kita lihat bagaimana nilainya bervariasi terhadap rata-rata / menghitung variance. Variance yang sangat besar artinya nilai siswa sangat beragam, sedangkan variance yang kecil (dekat dengan rata-rata) artinya mayoritas siswa punya nilai yang kira-kira mirip
Standar DeviasiStandar deviasi adalah kuadrat dari variance.
Sekarang coba kalian gunakan kode diatas untuk mencetak:
Basic Statistics with NumpyMelakukan eksplorasi statistik dasar Materi diambil dari: http://cs231n.github.io/python-numpy-tutorial/ Data Analysis with PandasMelakukan load data, menginspeksi, dan memodifikasi data dengan Pandas. Melakukan data analisis. Materi diambil dari: https://www.learnpython.org/en/Pandas_Basics More here: https://pandas.pydata.org/pandas-docs/stable/10min.html Visualisasi Data dengan MatplotlibMembuat grafik dengan Matplotlib untuk menyajikan data atau temuan hasil analisis data Materi diambil dari: http://cs231n.github.io/python-numpy-tutorial/ [Detailed] Python Essential Libraries untuk Analisis DataNumPy
Selain kemampuan pemrosesan array-nya, kegunaan utama pandasNama
matplotlib
SciPy
|