Published on
Selasa, 17 September 2024

Data Science #2: Python For Data Science

avatar
Authors
Nafal Maulana
Instagram
@nafalml

PPers pasti sudah tidak sabar lagi untuk ngoding, kan? Kali ini, kita akan mempelajari tentang Python secara umum dan bagaimana penggunaannya dalam Data Science.

What is Python?

Python adalah bahasa pemrograman tingkat tinggi yang sangat populer di kalangan developer. Bahasa ini digunakan untuk berbagai keperluan, seperti analisis data, pengembangan web, pembuatan aplikasi, dan otomasi tugas-tugas tertentu.

Python dikenal karena kemudahan penggunaannya dan sintaks yang sederhana, sehingga sangat cocok bagi pemula.

Meskipun namanya sama dengan jenis ular, asal usul penamaan Python sebenarnya berasal dari grup komedi terkenal di Inggris bernama Monty Python. Python dikembangkan oleh Guido van Rossum pada akhir 1980-an dan pertama kali dirilis pada tahun 1991.

Why Python is Used for Data Science?

Python sangat efektif untuk analisis data yang kompleks karena sintaksnya yang sederhana dan ringkas, yang mampu meningkatkan efisiensi kerja seorang Data Scientist. Python juga dapat dijalankan di berbagai platform dan sistem operasi.

Sintaks Python yang mirip dengan bahasa Inggris membuatnya mudah dipahami, bahkan oleh orang non-IT sekalipun. Sebagai contoh, untuk menampilkan teks "Hello World", kita hanya perlu menuliskan kode berikut:

print("Hello World")

Kata kunci seperti print, if, dan for mudah dipahami dan intuitif, masing-masing berfungsi untuk menampilkan output, membuat percabangan, dan melakukan perulangan.

Selain itu, Python memiliki banyak pustaka (libraries) yang sangat bermanfaat bagi Data Scientist, seperti Pandas, NumPy, Matplotlib, Scikit-Learn, dan masih banyak lagi.

Kombinasi dari kemudahan penggunaan dan pustaka yang kaya menjadikan Python pilihan utama bagi para Data Scientist.

Introduction to Google Colab

Google Colab, atau Google Collaboratory, adalah platform layanan berbasis cloud yang dikembangkan oleh Google.

Platform ini memungkinkan pengguna untuk menulis, menjalankan, dan berbagi kode Python langsung dari browser.

Salah satu kelebihan utama Google Colab adalah kita tidak perlu melakukan instalasi dan setup apapun untuk mulai menggunakannya.

Google Colab sangat cocok bagi PPers yang sedang belajar dan mendalami Python.

Untuk mulai menggunakannya, PPers bisa langsung mengunjungi Google Colab atau melalui akun Google Drive dengan mengikuti alur berikut:

  1. Akses Google Drive: My Drive -> + New -> More -> Google Colaboratory
  2. Jika belum terkoneksi: Klik menu + Connect more apps setelah langkah More, lalu cari dan pilih Google Collaboratory.

Untuk panduan yang lebih jelas, silakan akses artikel berikut: Cara Menggunakan Google Colab.

Berikut juga adalah FAQ yang mungkin dapat membantu PPers memahami lebih dalam lagi tentang Google Colab: Google Colab FAQ.

Dengan memahami dasar-dasar Python dan Google Colab, PPers siap untuk menjelajahi lebih jauh dunia Data Science. Selamat ngoding, PPers!

Python Fundamentals

1. Basic Data Types

  • Numeric Data Types

Integer (int)

Integer adalah tipe data numerik yang dugunakan untuk menampilkan bilangan bulat, baik bilangan positif, negatif, maupun nol, tanpa menyertai bagian desimalnya

contoh :

# Integer Data Type a = 12 b = -7 c = 0

berikut cara merubah tipe data float menjadi integer

Float1 = 6.67 # merubah tipe data float pada 'Float1' menjadi integer pada 'integer1' integer1 = int(Float1) print(integer1) # output: 6 # cek apakah tipe datanya sudah integer type(integer1) # output : int

Float ( float )

Float adalah tipe data numerik yang digunakan untuk menampilkan bilangan pecahan atau desimal.

contoh :

# Float Data Type pi = 3.14 e = 2.718 bilnegatif = -1.0

berikut cara merubah tipe data integer menjadi float

integer = 6 # merubah int pada variabel 'integer' menjadi float pada variabel 'Float' Float = float(integer) print(Float) # output: 6.0 # cek apakah tipe data nya sudah float type(Float) # output : float
  • String Data Type ( str )

String adalah tipe data yang digunakan untuk menyimpan sebuah teks.

contoh :

# String Data Type DS = "Data Science" Py = 'Python' fr = 'For' # menggabungkan beberapa string print(DS, fr, Py) # output: Data # atau bisa juga didefinisikan ke dalam sebuah variabel gabung = Py + fr + DS print(gabung)

menggabungkan string juga dapat menggunakan beberapa metode. Dengan menggunakan variabel string yang sudah di definisikan sebelumnya, beberapa metode penggabungan dapat diterapkan sebagai berikut:

# menggunakan fungsi join() gabung1 = " ".join([Py, fr, DS]) print(gabung1) # menggunakan fungsi format() gabung2 = "{} {} {}".format(Py, fr, DS) print(gabung2) # menggunakan fungsi f-String (Format String Literal) gabung3 = f"{Py} {fr} {DS}" print(gabung3)
  • Boolean Data Type (bool)

Boolean adalah tipe data yang digunakan untuk merepresentasikan nilai kebenaran dalam bahasa pemrograman. Tipe data ini hanya memiliki dua nilai yaitu “True” atau “False”. Boolean digunakan dalam opreasi logika matematika.

contoh :

# boolean Data Type Mahasiswa = True # variabel Mahasiswa merupakan boolean dengan nilai True Siswamaha = False # variabel Siswamaha merupakan boolean dengan nilai False

Contoh Boolean dalam operasi logika matematika

# contoh 1 x = True y = False result = x or y print(result) # output: True # contoh 2 a = True b = False result = not (a or b) print(result) # Output: False # Contoh 3 # membuat keputusan berdasarkan kondisi tertentu temperature = 16 # suhu di suatu ruangan humidity = 70 # kelembapan # Memutuskan apakah menyalakan AC atau tidak berdasarkan suhu dan kelembapan if temperature > 25 and humidity > 60: print("Menyalakan AC") else: print("Tidak perlu menyalakan AC") # output: Tidak perlu menyalakan AC

Contoh diatas merupakan beberapa penerapan Gerbang Logika. untuk lebih detail nya bisa akses artikel berikut :

https://www.dicoding.com/blog/gerbang-logika-dan-tabel-kebenaran/

2. Common Data Structure

  • List

List merupakan jenis struktur data yang digunakan untuk menyimpan kumpulan data, baik berupa objek maupun nilai secara terurut berdasarkan nilai indeks nya. Nilai indeks di sini berawal dari 0 hingga nilai terakhir pada indeks positif.

contoh :

# List Data Structure # membuat list language = ['python','SQL','java'] ## atau bisa juga mendefinisikan nya terlebih dahulu peminat_py = 20 peminat_sql = 15 peminat_js = 25 ## kemudian baru disimpan kedalam list dat_peminat = [peminat_py,peminat_sql,peminat_js] print(dat_peminat) # output: [20,15,25] # melakukan indexing dan slicing pada list print(language[0]) # output: python print(dat_peminat[2]) # output: 25 print(dat_peminat[1:]) # output: [15, 25] # mengganti elemant list language[2] = "java script" print(language) # output: ['python', 'SQL', 'java script'] # menambahkan element list language.append('php') print(language) # output: ['python', 'SQL', 'java script', 'php']
  • Tuple

Tuple merupakan struktur data yang sama dengan list dengan pengecualian bahwa data yang disimpan di tuple tidak dapat diubah. Struktur data ini biasanya digunakan untuk menyimpan data yang konstan, dengan kata lain datanya tetap atau kecil kemungkinan untuk diubah, contohnya seperti koordinat geografis, tanggal lahir, penulis buku, dan sebagainya.

contoh :

# tuple Data Structure tuple1 = (4,5,6,'tuple') # indexing pada tuple print(tuple1[0]) # output: 4 print(tuple1[3]) # output: 'tuple' # slicing # mengambil elemen dari indeks 1 sampai 3 print(tuple1[1:3]) # output: (5,6) # mengambil elemen dari indeks 1 sampai akhir print(tuple1[1:]) # output: (5,6,'tuple') # mengambil elemen dari awal sampai indeks 2 print(tuple1[:2]) # output: (4,5,6)
  • Dictionary ( dict)

Dictionary merupakan tipe data yang mampu menyimpan nilai dalam bentuk pasangan key dan value. setiap key itu bersifat unik dan immutable (tidak dapat diubah). Key berfungsi sebagai pengenal untuk value yang terkait dengan key nya. Sedangkan value disini bersifat mutable (dapat diubah-ubah).

Dictionary tidak menggunakan indeks. Dictionary akan lebih optimal ketika digunakan untuk pengolahan kumpulan data kecil hingga menengah daripada mengolah data yang besar. pengolahan data yg besar dapat menggunakan library Pandas.

contoh :

# Dictionary Data Structure mytools = {'coding':'python', 'viz':'looker studio', 'database':'postgreSQL'} print(mytools) # Mengakses value berdasarkan key nya print(mytools['coding']) print(mytools['viz']) # mengakses semua key dan value print(mytools.keys()) print(mytools.values()) # mengubah value melalui key mytools['coding'] = 'javascript'
  • Set (set)

Set adalah kumpulan elemen yang tidak berurutan dan unik. Unik disini artinya Set tidak mengizinkan adanya elemen yang duplikat. Sehingga jika ada elemen yang duplikat didalam set, maka yang dieksekusi hanya 1 elemen saja. Set bersifat mutable sehingga elemennya dapat dengan mudah di hapus dan ditambahkan

contoh :

# Set Data Structure myset = {1,3,5,'set'} print(myset) # set tidak mengizinkan duplikat myset1 = {1,2,2,3,'set','set','set'} print(myset1)

Elemen didalam Set tidak dapat diakses secara langsung dengan menggunakan indeks karena struktur data set tidak terurut, berbeda dengan list dan tuple yang merupakan struktur data terutut sehingga dapat diakses elemennya dengan menggunakan indeks. Akan tetapi elemen pada set dapat diakses secara keseluruhan dengan looping.

myset2 = {1,2,3,'set'} for elemen in myset2 : print(elemen)

3. Conditional Statement

Conditional Statement adalah pernyataan yang memberikan kontrol dalam membuat suatu keputusan berdasarkan kondisi tertentu.

Jadi suatu kondisi akan diseleksi dan diproses berdasarkan nilai kebenarannya (True or False). Pembuatan conditional statement biasanya diikuti oleh operator bantu sebagai berikut :

→ Sama dengan (a==b)

→ Tidak sama dengan (a!=b)

→ Lebih besar dari (a>b)

→ Lebih kecil dari (a<b)

→ Lebih besar sama dengan (a>=b)

→ Lebih kecil sama dengan (a<=b)

IF Statement

If statement adalah fungsi kondisi yang sering digunakan oleh programmer. Bentuk nya yang sederhana, mendasar, dan mudah dipahami adalah beberapa alasannya.

Jika kondisi benar maka pada blok if akan tereksekusi, jika salah maka pada blok if tidak akan tereksekusi, sehingga tidak ada program yang tereksekusi.

contoh :

# IF Statement x = -1 if x < 0: print(x,'adalah bilangan negatif') # output : -1 adalah bilangan negatif

IF….ELSE Statement

Pernyataan ini digunakan ketika kedua nilai kebenaran itu dipertimbangkan untuk dieksekusi. Jadi ketika kondisinya benar maka pada blok if akan tereksekusi.

Begitu sebaliknya, ketika kondisinya salah maka yang akan tereksekusi adalah blok diluar if yaitu pada blok else.

contoh :

# If Else Statement x = 1 if x < 0: print(x,'adalah bilangan negatif') else: print(x,'adalah bilangan positif') # output : 1 adalah bilangan positif

IF …. ELIF …. ELSE Statement

Dalam conditional statement ini, step pertama blok if akan dievaluasi terlebih dahulu, jika salah maka lanjut ke blok elif, jika pada blok if dan elif salah maka akan otomatis yang tereksekusi adalah blok else.

contoh :

# If, Elif, Else Statement x = 0 if x < 0: print(x,'adalah bilangan negatif') elif x > 0: print(x,'adalah bilangan positif') else: print(x,'adalah bilangan nol') # output : 0 adalah bilangan nol

Nested IF

Nested If adalah pernyataan dimana ada blok if didalam blok if. Pernyataan ini digunakan ketika terdapat kondisi yang bergantung pada kondisi lain, sehingga memerlukan beberapa step untuk melakukan pengecekan.

contoh:

# Nested If x = 5 if x >= 0: if x == 0: print(x,'adalah bilangan nol') else: print(x,'adalah bilangan positif') else: print(x,'adalah bilangan negatif') # output: 5 adalah bilangan positif

4. Looping

Looping adalah suatu proses perulangan dari sebuah instruksi dalam suatu blok kode hingga memenuhi kondisi tertentu. Looping berfungsi untuk melakukan otomatisasi task yang sama dan berulang sehingga dapat megefisiensi pekerjaan. Jenis perulangan atau iterasi dalam python ada dua yaitu definite iterations dan indefinite iterations.

Definite iterations digunakan ketika jumlah iterasi diketahui sebelum loop dimulai yang diwakili oleh for loop. Sedangkan, indefinite iteration digunakan ketika jumlah perulangan tidak diketahui dan dieksekusi jika memenuhi suatu kondisi yang telah ditentukan diawal. Indefinite iteration disini diwakili oleh while loop.

For Loop

For Loop adalah perulangan terus menerus sebanyak iterasi yang telah ditentukan diawal atau sebanyak jumlah elemen dalam suatu kumpulan data seperti tuple, list, dictionary, set, dan string.

syntax :

for var in iterable: statement

for : kata kunci memulai loop

var : variabel untuk menyimpan nilai elemen dari iterable dalam setiap iterasi nya

in :

iterable : objek yang elemennya akan diiterasi sepeti list, tuple, string, atau objek lainnya.

: : sebagai awalan blok kode yang akan dijalankan.

statement : adalah blok kode yang akan dijalankan. Disini indentasi (penulisan kode yg menjorok) sangatlah berpengaruh. Indentasi yang sejajar menunjukan kode tersebut satu blok dengan kode sejajar lainnya.

contoh :

# For loop # contoh fungsi range() yang berupa deret angka for i in range (4): print(i+1) ## output: 1 2 3 4 # contoh for loop untuk mencetak string for char in 'Hello': print(char) ## output:H e l l o # contoh iterasi list num = [1,2,3,4] for n in num: print(n) ## output: 1 2 3 4

While Loop

Berbeda dengan for loop, while loop melakukan proses perulangan terus menerus selama suatu kondisi terpenuhi dan perulangan akan berhenti ketika suatu kondisi sudah tidak memenuhi.

Syntax :

while condition: statement

contoh :

# while loop # contoh iterasi angka menggunakan indeks i = 1 while i < 4: print(i) i+=1 #i = i + 1 ## output: 1 2 3 4 # contoh menghitung faktorial dari sebuah angka num = 5 factorial = 1 while num > 0: factorial *= num #factorial = factorial*num num -= 1 #num = num - 1 print("Faktorial dari 5 adalah:", factorial) # output: Faktorial dari 5 adalah : 120

5. Function

Syntax

def fungsi(parameter1, parameter2, ...): statement return nilai

def : kata kunci yang digunakan untuk mendefifnisikan fungsi

fungsi : penamaan fungsi

parameter : nilai yang diteruskan ke fungsi di blok statement . Parameter disini bisa lebih dari satu atau tidak ada sama sekali.

return : digunakan untuk mengembalikan nilai dari suatu fungsi . Jika tidak ada return , maka nilai atau hasil fungsi akan dikembalikan secara default atau none.

contoh :

def add(a,b,c): result = a+b+c return result print(add(3,5,2)) ## Output: 10

Function Argument

Positional Argument

Ini adalah bentuk umum penggunaan argumen atau parameter dalam suatu fungsi. Ketika melakukan pemanggilan fungsi beserta input argumen nya, maka posisi dan peletakan argumen nya harus urut sesuai dengan keyword argumen yang telah didefinisikan diawal.

contoh :

#positional argument def operation(x,y,z): return (x*z)**y print(operation(2,4,3)) ## output: 1296

angka 2,3, dan 4 jika urutannya diubah maka akan menghasilkan output yang berbeda pula.

Keyword Argument

Keyword Argument adalah jenis fungsi input yang menyatakan input-an nya kedalam variabel yang merupakan keyword dari argumen yang telah didefinisikan diawal. Jadi di input argumen nya tidak perlu urut sesuai pendefinisian diawal, tapi harus menyertakan keyword nya.

contoh :

# Keyword argument def math(aljabar, stat): print('matkul wajib aljabar :',aljabar) print('matkul wajib stat :', stat) print(math(stat='analisis multivariat', aljabar='logika Fuzzy')) ## output: ## matkul wajib aljabar : logika Fuzzy ## matkul wajib stat : analisis multivariat

Default Argument

Default argument adalah gabungan antara positional argument dan keyword argument dimana diawal pendefinisian fungsi, keyword argumen atau parameter memiliki nilai default nya. Sehingga ketika pemanggilan fungsi tersebut, tapi input argumen tidak dimasukkan maka yang akan tereksekusi adalah nilai default nya.

contoh :

# default argument # contoh1 def math(aljabar, stat='analisis runtun waktu'): print('matkul wajib aljabar :',aljabar) print('matkul wajib stat :', stat) print(math(aljabar='logika Fuzzy')) ## output: ## matkul wajib aljabar : logika Fuzzy ## matkul wajib stat : analisis runtun waktu

Important Libraries in Data Science

1. NumPy (https://numpy.org/)

Numerical Python atau NumPy adalah sebuah library atau package di python yang mendukung objek array multidimensi serta operasi matematika untuk pemrosessan array.

Array adalah struktur data yang digunakan untuk menyimpan sekumpulan elemen dalam tipe data yang sama dalam satu variabel.

NumPy dapat digunakan untuk membuat array termasuk array multidimensi, operasi aritmatika, operasi statsitik dan matematika, pengolahan data skala besar, dan masih banyak lagi.

Berikut cara penggunaan NumPy secara umum :

Install Library NumPy

jika library NumPy belum terinstal maka bisa menggunakan pip :

pip install numpy

Namun jika menggunakan google colab tidak perlu instal lagi karena sudah terinstal dan siap pakai.

Import Library Numpy

langkah paling awal, import terlebih dahulu library NumPy ke program python yang akan digunakan.

import numpy as np

import : fungsi untuk memanggil library

numpy : library yang dipanggil

as : alias untuk memudahkan akses library nya

np : alias dari numpy

Membuat Array dengan NumPy

Pada umumnya array dibuat dari list Python sebagai berikut :

arr = np.array([1,3,5,6]) print(arr)

Mengakses Elemen di dalam Array

arr = np.array(['python','js','php']) print(arr[1]) # mengakses elemen ke 2 ## output: js

Operasi Matematika dan statistik

ar1 = np.array([1,2,3]) ar2 = np.array([7,8,9]) result = ar1*ar2 print(result) ## output: [ 7 16 27] print(np.mean(ar1)) #rata-rata ## output: 2.0 print(np.std(ar2)) #standar deviasi ## output: 0.816496580927726

Reshaping (Mengubah Dimensi Array)

arr = np.array([1, 2, 3, 4, 5, 6]) reshaped_arr = arr.reshape(2, 3) # Mengubah array 1D menjadi 2x3 array print(reshaped_arr) # Output: # [[1 2 3] # [4 5 6]]

2. Pandas (https://pandas.pydata.org/)

Pandas merupakan pustaka di Python yang digunakan untuk analisis data dan manipulasi data. Pandas sangat efektif digunakan untuk manipulasi data, seperti data cleaning, data tranformation, data integration, data import, data export, dan masih banyak lagi.

Pandas memiliki dua struktur data utama, yaitu Series dan DataFrame

Struktur Data dalam Pandas

Series Series()

Series adalah struktur data satu dimensi yang mirip dengan array dalam NumPy atau daftar (list) dalam Python, tetapi memiliki label indeks untuk setiap elemennya.

Jadi dalam melakukan indexing atau mengakses elemen nya bisa dengan indeks elemenya atau bisa juga dengan memanggil label indeks yang sudah didefinisikan diawal.

contoh:

import pandas as pd # Membuat Series dengan label indeks otomatis (0, 1, 2, ...) series_1 = pd.Series([10, 20, 30, 40]) # Membuat Series dengan label indeks khusus series_2 = pd.Series([100, 200, 300, 400], index=['a', 'b', 'c', 'd']) print(series_1) print(series_2) # melakukan indexing #1. indexing elemen 1,2,dan 3 print(series_1[0:2]) #2. indexing elemen 2,3, dan 4 print(series_2['b':'d'])

DataFrame DataFrame()

DataFrame merupakan struktur data dua dimensi yang terdiri dari baris dan kolom dengan kemampuan untuk menyimpan berpabagai tipe data. Setiap kolom dalam DataFrame adalah Series dengan nama kolom sebagai label, sedangkan baris memiliki label indeks yang dapat berupa angka atau nama yang didefinisikan pengguna.

contoh :

import pandas as pd # Membuat DataFrame dengan data dalam bentuk dictionary data = { 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'City': ['New York', 'Los Angeles', 'Chicago'] } df = pd.DataFrame(data) print(df)

Penggunaan Pandas secara umum

Install Pandas

pip instal pandas

Jika menggunakan Python web sepeti google colab, tidak perlu menjalankan printah diatas, karena pada umumnya sudah tersedia.

Import Data

File CSV

df = pd.read_csv('data.csv')

df : variabel untuk menyimpan dataframe hasil pembacaan file CSV

pd : as pandas

read_csv : fungsi untuk membaca file CSV

data.csv : nama data atau alamat penyimpanan data yang diikuti dengan .csv

File Excel

df = pd.read_excel('data.xlsx')

Export Data

DataFrame.to_csv(filepath_or_buffer, sep=',', index=True, header=True)

filepath_or_buffer: Ini adalah nama atau jalur file tempat DataFrame akan disimpan. Jika file tidak ada, file akan dibuat secara otomatis. Jika Anda tidak memberikan jalur file, output CSV akan ditampilkan di layar sebagai string.

sep: Ini adalah pemisah antar nilai di setiap baris. Secara default, digunakan koma (,), tetapi kita bisa menggantinya dengan karakter lain seperti tab (\t) atau titik koma (;).

index: Jika True (nilai default), Pandas akan menyertakan kolom indeks dari DataFrame di file CSV. Jika False, kolom indeks tidak akan disertakan.

header: Jika True (nilai default), Pandas akan menyertakan nama-nama kolom di baris pertama CSV. Jika False, nama kolom tidak akan ditulis

3. Matplotlib dan Seaborn

Matplotlib

(https://matplotlib.org/)

Matplotlib adalah library atau pustaka di Python yang digunakan untuk membuat visualisasi data dalam bentuk grafik.

Matplotlib sangat berguna untuk mengubah data numerik menjadi grafik yang lebih mudah dipahami, seperti grafik garis, grafik batang, histogram, pie chart, scatter plot, dan banyak lagi.

contoh :

import matplotlib.pyplot as plt # Data yang akan divisualisasikan x = [1, 2, 3, 4, 5] y = [10, 20, 25, 30, 40] # Membuat grafik garis plt.plot(x, y) # Menambahkan judul dan label plt.title('Grafik Garis') plt.xlabel('Sumbu X') plt.ylabel('Sumbu Y') # Menampilkan grafik plt.show()

import matplotlib.pyplot as plt: Ini adalah konvensi umum untuk mengimpor modul pyplot dari Matplotlib, yang menyediakan antarmuka seperti MATLAB untuk membuat grafik.

plt.plot(x, y): Membuat grafik garis dengan data x dan y.

plt.title(), plt.xlabel(), plt.ylabel(): Menambahkan judul dan label pada grafik.

plt.show(): Menampilkan grafik pada layar.

Seaborn

(https://seaborn.pydata.org/)

Seaborn adalah pustaka visualisasi data di Python yang dibangun di atas Matplotlib. Seaborn mempermudah pembuatan grafik statistik yang indah dan informatif.

Keunggulannya terletak pada kemampuannya untuk menangani dataset yang kompleks dan menyediakan visualisasi yang langsung relevan untuk analisis statistik.

Seaborn menyederhanakan pembuatan grafik yang lebih informatif dibandingkan Matplotlib, terutama dalam analisis statistik.

contoh :

import seaborn as sns import matplotlib.pyplot as plt # Dataset bawaan Seaborn tips = sns.load_dataset('tips') # Membuat scatter plot sns.scatterplot(x='total_bill', y='tip', hue='sex', data=tips) plt.show()

Reference