Data Science dengan Python [Pemula – Bagian I]

Daftar Isi


Pendahuluan

Tulisan ini dibuat untuk teman-teman yang suka dan berminat untuk mendalami pengolahan data dengan python. Python memang menarik perhatian saya yang sudah terbiasa dengan Excel dan R karena memang sedang trend dan kegunaanya saat itu sedang ramai dibicarakan dan ‘ternyata’ sangat fleksibel digunakan. 

Saya akan memulai dan menyicil artikel ini dari hal-hal yang paling dasar sampai dianggap sulit. Tujuanya selain untuk berbagi ilmu dengan teman-teman tetapi juga sebagai media catat bagi saya yang mendalami python dengan otodidak.

 

Hello World dan Operasi Matematika

Mari kita mulai dari kebiasaan lama para dosen kita dalam memulai kelas pemograman, yaitu mencetak hello world. Tidak seperti bahasa Java atau C yang cenderung panjang, pada Python lebih simpel dan sederahana — mirip seperti bahasa dalam R

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
print('helloworld')<br><br>
print('helloworld')<br><br>
print('helloworld')

maka hasilnya akan seperti ini

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
helloworld
helloworld
helloworld

Tentunya itu sangat mudah, bukan? Selanjutnya kita masuk pada bagian yang juga mudah yaitu operasi matematika, seperti pembagian (/), pertambahan (*), perjumlahan (+), pengurangan (-), pangkat (**), dan modulo (%). Terutama untuk bagian terakhir diterjemahkan sebagai sisa pembagian, contohnya seperti pada tabel bawah module 18%7 apabila kita run hasilnya adalah 4. Nilai tersebut muncul dari barikut 18 apabila dibagi nilai 7 hanya bisa dengan nilai 14, sisa dari nilai 18 adalah 4. Jadi nilai 4 yang diambil.

 

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>>> print(5/8) #pembagian
0.625
>>> print(5*9) #pertambahan
45
>>> print(2+3) #penjumlahan
5
>>> print(9-2) #pengurangan
7
>>> print(18/7) #modulo -- sisa dari pembagian
2.5714285714285716
>>> print(3**2) #pangkat
9
>>> print(10//3) #pembulatan dari hasil pembagian
3
>>>
>>> print(9*2+5**2)
43
>>> print(5/8) #pembagian 0.625 >>> print(5*9) #pertambahan 45 >>> print(2+3) #penjumlahan 5 >>> print(9-2) #pengurangan 7 >>> print(18/7) #modulo -- sisa dari pembagian 2.5714285714285716 >>> print(3**2) #pangkat 9 >>> print(10//3) #pembulatan dari hasil pembagian 3 >>> >>> print(9*2+5**2) 43
>>> print(5/8) #pembagian
0.625
>>> print(5*9) #pertambahan
45
>>> print(2+3) #penjumlahan
5
>>> print(9-2) #pengurangan
7
>>> print(18/7) #modulo -- sisa dari pembagian
2.5714285714285716
>>> print(3**2) #pangkat
9
>>> print(10//3) #pembulatan dari hasil pembagian
3
>>>
>>> print(9*2+5**2)
43

 

Variabel

Assign Variable

Assign variabel adalah proses untuk menempatkan nilai pada sebuah variabel agar nilai tersebut lebih mudah untuk dapat dipanggil kembali pada proses analisis lebih lanjut. Assign variabel biasanya menggunakan tanda ‘=’ untuk menyatakan nilai tersebut.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#assign variable
angka=100 #assign variable 'angka' dengan nilai '100'
print(angka)
#assign variable angka=100 #assign variable 'angka' dengan nilai '100' print(angka)
#assign variable
angka=100 #assign variable 'angka' dengan nilai '100'
print(angka)

maka hasilnya akan seperti ini

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
100
100
100

Jenis Variabel

Dalam python, jenis variabel dasar sama seperti bahasa pemograman lainnya seperti bilangan bular berupa integer; pecahan berupa float; karakter huruf berupa string; dan biner berupa boolan. Dalam statistik biasanya integer berupa skala pengukuran nominal dan ordinal, sedangkan float bisa berupa skala pengukuran kontinyu (interval atau rasio)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
berat=100 #integer -- bilangan bulat
tinggi=174.5 #float -- bilangan pecahan
status='belum menikah' #string - karakter
overweight=True #boolean
print(berat)
print(tinggi)
print(status)
berat=100 #integer -- bilangan bulat tinggi=174.5 #float -- bilangan pecahan status='belum menikah' #string - karakter overweight=True #boolean print(berat) print(tinggi) print(status)
berat=100 #integer -- bilangan bulat
tinggi=174.5 #float -- bilangan pecahan
status='belum menikah' #string - karakter
overweight=True #boolean

print(berat)
print(tinggi)
print(status)

maka hasilnya akan seperi ini

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
100
174.5
belum menikah
100 174.5 belum menikah
100
174.5
belum menikah

Menghitung Variabel

Kali ini kita akan menghitung beberapa variabel. Sebenarnya akan tetap bisa untuk menghitung operasi matematika seperti ini

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
berat_kali_tinggi=100*174.5
print(berat_kali_tinggi)
berat_kali_tinggi=100*174.5 print(berat_kali_tinggi)
berat_kali_tinggi=100*174.5
print(berat_kali_tinggi)

maka hasilnya seperti ini

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
17450.0
17450.0
17450.0

Tetapi, tentunya apabila kita akan menggunakan nilai-nilai tersebut berkali-kali akan merepotkan kita, terutama semakin besarnya kemungkinan salah ketik. Jadi operasi di atas bisa saja apabila kita menulis seperti dibawah ini

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
berat=100 #integer -- bilangan bulat
tinggi=174.5 #float -- bilangan pecahan
berat_kali_tinggi2=berat*tinggi
print(berat_kali_tinggi2)
berat=100 #integer -- bilangan bulat tinggi=174.5 #float -- bilangan pecahan berat_kali_tinggi2=berat*tinggi print(berat_kali_tinggi2)
berat=100 #integer -- bilangan bulat
tinggi=174.5 #float -- bilangan pecahan
berat_kali_tinggi2=berat*tinggi
print(berat_kali_tinggi2)

Cek Tipe Variabel

Tidak seperti bahasa pemograman java yang harus menentukan tipe variabel ketika kita mendeklarasikan sebuah variabel, python sangat pengertian untuk dapat menerjemahkan sendiri, seperti angka 10 pasti integer, 10.00 adalah float, sepuluh adalah string, False adalah boolean. Tapi kita bisa juga mengecek tipe apa sih nilai dari variabel tersebut, dengan syntax dibawah ini.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>>> print(type(berat))
<class 'int'>
>>> print(type(tinggi))
<class 'float'>
>>> print(type(status))
<class 'str'>
>>> print(type(overweight))
<class 'bool'>
>>> print(type(berat)) <class 'int'> >>> print(type(tinggi)) <class 'float'> >>> print(type(status)) <class 'str'> >>> print(type(overweight)) <class 'bool'>
>>> print(type(berat))
<class 'int'>
>>> print(type(tinggi))
<class 'float'>
>>> print(type(status))
<class 'str'>
>>> print(type(overweight))
<class 'bool'>

 

Casting Type Data

Ya. dalam beberapa kasus kita dituntut untuk menggunakan tipe data tertentu, itu memungkinkan. Lalu bagaimana kita bisa merubah tipe data itu? apalagi python menerjemahkan itu sendiri, misal kita ingin nilai 10 sebagai float walaupun angka dibelakang koma itu 00. Kita bisa melakukan dengan cara seperti ini, dengan contoh merubah variabel berat yang integer pada bentuk lain seperti float, string, dan boolean.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
berat_float=float(berat)
berat_string=str(berat)
berat_boolean=bool(berat) #false jika nilai berat=0, lainnya 1
berat_float=float(berat) berat_string=str(berat) berat_boolean=bool(berat) #false jika nilai berat=0, lainnya 1
berat_float=float(berat)
berat_string=str(berat)
berat_boolean=bool(berat) #false jika nilai berat=0, lainnya 1

 

Operasi Komparasi dan Logika

Pada bagian ini akan menyinggung operasi lebih besar (>), lebih kecil (<), lebih besar sama dengan (>=), lebih kecil sama dengan (<=), sama dengan (=), dan tidak sama dengan (!=). Sebelum menggunakan fungsi ini dengan kegunaan yang lebih kompleks, mari kita lihat perbedaanya pada hasil dibawah ini.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>>> andi=175
>>> meyla=160
>>> randi=184
>>>
>>> print(randi>meyla) #hasilnya True
True
>>> print(randi<=meyla) #hasilnya False
False
>>> print(meyla<andi<randi) #Hasilnya True
True
>>> print(randi>=184) #hasilnya True
True
>>> print(randi!=190) #hasilnya True, dibaca randi tidak sama dengan 190
True
>>> andi=175 >>> meyla=160 >>> randi=184 >>> >>> print(randi>meyla) #hasilnya True True >>> print(randi<=meyla) #hasilnya False False >>> print(meyla<andi<randi) #Hasilnya True True >>> print(randi>=184) #hasilnya True True >>> print(randi!=190) #hasilnya True, dibaca randi tidak sama dengan 190 True
>>> andi=175
>>> meyla=160
>>> randi=184
>>>
>>> print(randi>meyla) #hasilnya True
True
>>> print(randi<=meyla) #hasilnya False
False
>>> print(meyla<andi<randi) #Hasilnya True
True
>>> print(randi>=184) #hasilnya True
True
>>> print(randi!=190) #hasilnya True, dibaca randi tidak sama dengan 190
True

 

Selain itu ada juga operasi ‘is’ dan ‘is not’. Ini sedikit tricky antara operasi ‘sama dengan’ dengan ‘is’ ataupun ‘tidak sama dengan’ dengan ‘is not’ karena secara harfiah sangat mirip dan mungkin menghasilkan nilai yang sama. Tapi secara singkat, perbedaan mencolok dari kedua itu adalah penggunaan ‘is’ dan ‘is not’ lebih baik digunakan pada variabel yang telah di- assignment.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>>> meyla=160
>>> randi=184
>>>
>>> persamaan=andi is meyla #hasilnya False
>>> perbedaan=andi is not meyla #Hasilnya True
>>>
>>> print(persamaan)
False
>>> print(perbedaan)
True
>>> meyla=160 >>> randi=184 >>> >>> persamaan=andi is meyla #hasilnya False >>> perbedaan=andi is not meyla #Hasilnya True >>> >>> print(persamaan) False >>> print(perbedaan) True
>>> meyla=160
>>> randi=184
>>>
>>> persamaan=andi is meyla #hasilnya False
>>> perbedaan=andi is not meyla #Hasilnya True
>>>
>>> print(persamaan)
False
>>> print(perbedaan)
True

 

List

Kita baru saja tahu bagaimana menempatkan sebuah value pada variable. Kenyataanya dalam data sains ataupun statistika, sebuah variabel hampir dipastikan terdiri dari banyak buah data. Seperti contohnya, tinggi badan dari pemain Persib yang tentunya tidak terdiri dari hanya satu orang saja. Oleh karenanya ada fungsi List untuk assign variabel dari lebih dari satu titik. Untuk mempermudah kita mengerti hal ini, mari kita lihat syntax  berikut

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# tinggi badan (dalam centimeter)
atep = 173
tantan = 175
eka = 165
sergio = 180
henhen = 170
#Membuat list
tinggi=[atep,tantan,eka,sergio,henhen] # Print tinggi
print(tinggi)
# tinggi badan (dalam centimeter) atep = 173 tantan = 175 eka = 165 sergio = 180 henhen = 170 #Membuat list tinggi=[atep,tantan,eka,sergio,henhen] # Print tinggi print(tinggi)
# tinggi badan (dalam centimeter)

atep = 173
tantan = 175
eka = 165
sergio = 180
henhen = 170 

#Membuat list

tinggi=[atep,tantan,eka,sergio,henhen] # Print tinggi

print(tinggi)

maka hasilnya akan seperti ini

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[173, 175, 165, 180, 170]
[173, 175, 165, 180, 170]
[173, 175, 165, 180, 170]

Tapi itu kurang informatif, makanya saya ingin menambahkan string dan float dalam satu list dimana secara berurutan nama dan tinggi berat badanya.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#membuat nama bersamaan dengan hasil
tinggi2 = ["Atep", atep,"Tantan", tantan, "Eka", eka,"Sergio", sergio, "Henhen", henhen]
# Print tinggi2
print(tinggi2)
#membuat nama bersamaan dengan hasil tinggi2 = ["Atep", atep,"Tantan", tantan, "Eka", eka,"Sergio", sergio, "Henhen", henhen] # Print tinggi2 print(tinggi2)
#membuat nama bersamaan dengan hasil
tinggi2 = ["Atep", atep,"Tantan", tantan, "Eka", eka,"Sergio", sergio, "Henhen", henhen]

# Print tinggi2
print(tinggi2)

maka hasilnya akan seperti ini

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170]
['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170]
['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170]

Tapi untuk mempermudah, kita bisa  menemparkan dua data itu dalam dua buah kolom, dimana satu kolom adalah pemain dan lainnya adalah tinggi badan. Makanya kita bisa membuat list dalam list seperti pada contoh dibawah ini.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# tinggi sebagai as list of lists
persib = [["Atep", atep],
["Tantan", tantan],
["Eka", eka],
["Sergio", sergio],
["Henhen", henhen]]
# Print out persib
print(persib)
# tinggi sebagai as list of lists persib = [["Atep", atep], ["Tantan", tantan], ["Eka", eka], ["Sergio", sergio], ["Henhen", henhen]] # Print out persib print(persib)
# tinggi sebagai as list of lists
persib = [["Atep", atep],
         ["Tantan", tantan],
         ["Eka", eka],
         ["Sergio", sergio],
         ["Henhen", henhen]]

# Print out persib
print(persib)

maka hasilnya akan seperti ini

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[['Atep', 173], ['Tantan', 175], ['Eka', 165], ['Sergio', 180], ['Henhen', 170]]
[['Atep', 173], ['Tantan', 175], ['Eka', 165], ['Sergio', 180], ['Henhen', 170]]
[['Atep', 173], ['Tantan', 175], ['Eka', 165], ['Sergio', 180], ['Henhen', 170]]

Index dalam List

Dalam Python urutan dalam list bisa dikatakan sedikit berbeda dan agak tricky — urutan dari depan dimulai dengan angka 0, sedangkan dari belang dengan angka 1. Sebagai contoh kita lihat kembali data Pemarin Persib ini.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170]
['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170]
['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170]

List diatas terdiri dari 10 buah string dan float. maka kalau kita menerjemahkan urutanya dari depan akan terdapat index seperti ini

[0,1,2,3,4,5,6,7,8,9]

Sedangkan kalau dari belakang akan terdapat index seperti ini.

[-10,-9-8,-7,-6,-5,-4,-3,-2,-1]

Sebagai contoh, apabila kita ingin mengidentifikasi nilai atep dan tingginya dengan nilai [‘Atep’,173] maka kita dapat mengidentifikasi dengan dua buah cara yaitu

[0,1]

atau

[-10.-9]

Contoh lainnya, apabila kita ingin melihat  Eka dan nilainya [‘Eka’,165], maka

[4,5]

atau

[-6,-5]

Kita juga dapat melakukan ini dalam sebuah rentang melalui tanda titik dua (:). Misal kita ingin mengidentifikasi rentang sebuah list melalui nilai index tertentu dapat dilihat melalui sebuah persamaan ini [index awal:index akhir]. Tapi hal rentang ini adalah index akhir tidak dapat disertakan.

Contohnya, apabila kita ingin melihat sebuah list nilai Eka dan Sergio, maka rentang index yang dapat diambil adalah [4:8].

Contoh lainnnya, apabila kita ingin melihat nilai Sergio dan Henhen, maka rentang index yang diambil adalah [-4:]. Nilai kosong diakhir menunjukan rentang diambil sampai index terakhir, begitu pula nilai kosong diawal yang dimaknaik sebagai diambilnya index dari 0.

 

Memotong List

Dari ilustrasi diatas, selanjutnya mari kita masuk pada topik slicing dimana kita hendak untuk memotong sebagian  satu buah variabel. Mari kita buat kembali variabel ‘persib’ dengan detail dibawah ini dengan menambahkan satu buah data dari tinggi badan Klok.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Create the persib list
atep = 173
tantan = 175
eka = 165
sergio = 180
henhen = 170
klok=190
persib = ["Atep", atep,"Tantan", tantan, "Eka", eka,"Sergio", sergio, "Henhen", henhen,"Klok",klok]
# Create the persib list atep = 173 tantan = 175 eka = 165 sergio = 180 henhen = 170 klok=190 persib = ["Atep", atep,"Tantan", tantan, "Eka", eka,"Sergio", sergio, "Henhen", henhen,"Klok",klok]
# Create the persib list
atep = 173
tantan = 175
eka = 165
sergio = 180
henhen = 170
klok=190

persib = ["Atep", atep,"Tantan", tantan, "Eka", eka,"Sergio", sergio, "Henhen", henhen,"Klok",klok]

Mari kita coba untuk mengambil sebagian dari himpunan dari contoh syntax dan hasilnya dibawah ini.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>>> print(persib[1])
173
>>> print(persib[-1])
190
>>> print(persib[-2])
Klok
>>> print(persib[5])
165
>>> print(persib[1]) 173 >>> print(persib[-1]) 190 >>> print(persib[-2]) Klok >>> print(persib[5]) 165
>>> print(persib[1])
173
>>> print(persib[-1])
190
>>> print(persib[-2])
Klok
>>> print(persib[5])
165

Sekarang kita coba bermain dengan slicing dengan kegunaan yang lebih kompleks.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>>> # Membuat daftar tinggi pemain naturalisasi
>>> persib_naturalisasi=['Tinggi Badan Sergio Van Dijk= ', persib[7], 'dan Tinggi Badan Mark Anthony Klok =' ,persib[-1]]
>>> print(persib_naturalisasi)
['Tinggi Badan Sergio Van Dijk= ', 180, 'dan Tinggi Badan Mark Anthony Klok =', 190]
>>> #Menghitung Rata Rata pemain naturalisasi
>>> mean_naturalisasi=((persib[-5]+persib[-1])/2)
>>> print(mean_naturalisasi)
185.0
>>> # Membuat daftar pemain lokal Persib
>>> persib_lokal=persib[:6]
>>> # Membuat Daftar pemain naturalisasi Persib
>>> persib_naturalisasi2=(persib[6:8],persib[-2:])
>>> # Print out pemain Lokal dan Naturalisasi
>>> print(persib_lokal)
['Atep', 173, 'Tantan', 175, 'Eka', 165]
>>> print(persib_naturalisasi2)
(['Sergio', 180], ['Klok', 190])
>>> # Membuat daftar tinggi pemain naturalisasi >>> persib_naturalisasi=['Tinggi Badan Sergio Van Dijk= ', persib[7], 'dan Tinggi Badan Mark Anthony Klok =' ,persib[-1]] >>> print(persib_naturalisasi) ['Tinggi Badan Sergio Van Dijk= ', 180, 'dan Tinggi Badan Mark Anthony Klok =', 190] >>> #Menghitung Rata Rata pemain naturalisasi >>> mean_naturalisasi=((persib[-5]+persib[-1])/2) >>> print(mean_naturalisasi) 185.0 >>> # Membuat daftar pemain lokal Persib >>> persib_lokal=persib[:6] >>> # Membuat Daftar pemain naturalisasi Persib >>> persib_naturalisasi2=(persib[6:8],persib[-2:]) >>> # Print out pemain Lokal dan Naturalisasi >>> print(persib_lokal) ['Atep', 173, 'Tantan', 175, 'Eka', 165] >>> print(persib_naturalisasi2) (['Sergio', 180], ['Klok', 190])
>>> # Membuat daftar tinggi pemain naturalisasi
>>> persib_naturalisasi=['Tinggi Badan Sergio Van Dijk= ', persib[7], 'dan Tinggi Badan Mark Anthony Klok =' ,persib[-1]]
>>> print(persib_naturalisasi)
['Tinggi Badan Sergio Van Dijk= ', 180, 'dan Tinggi Badan Mark Anthony Klok =', 190]
>>> #Menghitung Rata Rata pemain naturalisasi
>>> mean_naturalisasi=((persib[-5]+persib[-1])/2)
>>> print(mean_naturalisasi)
185.0
>>> # Membuat daftar pemain lokal Persib
>>> persib_lokal=persib[:6]
>>> # Membuat Daftar pemain naturalisasi Persib
>>> persib_naturalisasi2=(persib[6:8],persib[-2:])
>>> # Print out pemain Lokal dan Naturalisasi
>>> print(persib_lokal)
['Atep', 173, 'Tantan', 175, 'Eka', 165]
>>> print(persib_naturalisasi2)
(['Sergio', 180], ['Klok', 190])

Menambah List

Pada bagian ini kita akan melakukan penambahan dalam sebuah list.  Sangat sederhana kita bisa menambahkan melalui syntax berikut.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Persib=persib+["Ezra Walian",+185]
Persib=persib+["Ezra Walian",+185]
Persib=persib+["Ezra Walian",+185]

Maka hasilnya akan seperti ini

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170, 'Klok', 190, 'Ezra Walian', 185]
['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170, 'Klok', 190, 'Ezra Walian', 185]
['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170, 'Klok', 190, 'Ezra Walian', 185]

 

Function


Maulana Akbar
Maulana Akbar

Data enthusiast. Social Scientist and Researcher for BRIN. Love to work in both qualitative and quantitative data. Playing Python and R during leisure time.

Leave a Reply

Your email address will not be published. Required fields are marked *