Secara sederhana Substring dapat diartikan sebagai suatu kata atau karakter atau kalimat yang merupakan bagian dari sebuah String.
Contoh: kata hari merupakan substring dari kata matahari
Python menyediakan banyak cara untuk melakukan substring pada sebuah string. Hal ini sering disebut "slicing".
Berikut sintaksnya:
string[start:end:step]Dimana,
string = "freeCodeCamp" print(string[0:5])3: Indeks awal dari sebuah substring. Karakter yang berada pada indeks ini termasuk dalam substring. Jika string = "freeCodeCamp" print(string[0:5])3 tidak didefinisikan, maka secara default diasumsikan sebagai 0.
string = "freeCodeCamp" print(string[0:5])5: Indeks terakhir dari sebuah substring. Karakter yang ada pada indeks ini tidak akan dimasukkan kedalam substring. Jika string = "freeCodeCamp" print(string[0:5])5 tidak didefinisikan, atau jika nilainya melebihi panjang dari string awal, maka secara default nilainya dianggap setara dengan panjang string.
string = "freeCodeCamp" print(string[0:5])7: Setiap "step" atau langkah setelah karakter saat ini . Nilai defaultnya adalah 1. Jika string = "freeCodeCamp" print(string[0:5])7 tidak didefinisikan, maka nilainya diasumsikan sebagai 1.
Penggunaan Dasar
string = "freeCodeCamp" print(string[0:5])9: Mengambil semua karakter dari string = "freeCodeCamp" print(string[0:5])3 hingga string = "freeCodeCamp" print(string[0:5])5 - 1
> freeC2: Mengambil semua karakter dari awal string sampai akhir string = "freeCodeCamp" print(string[0:5])5 - 1
> freeC4: Mengambil semua karakter dari string = "freeCodeCamp" print(string[0:5])3 hingga akhir dari string
> freeC6: Mengambil semua karakter dari string = "freeCodeCamp" print(string[0:5])3 hingga string = "freeCodeCamp" print(string[0:5])5 - 1, tidak termasuk setiap karakter string = "freeCodeCamp" print(string[0:5])7
Contoh
1. Mendapatkan 5 karakter awal dari sebuah string
Output:
> freeCCatatan: string = "freeCodeCamp" print(string[2:6])0 mengembalikan hasil yang sama dengan string = "freeCodeCamp" print(string[2:6])1
2. Mendapatkan substring sebanyak 4 karakter, yang dimulai dari karakter ketiga dari string
string = "freeCodeCamp" print(string[2:6])Output:
> eeCo3. Mendapatkan karakter terakhir dari sebuah string
string = "freeCodeCamp" print(string[-1])Output:
> pPerhatikan bahwa indeks string = "freeCodeCamp" print(string[0:5])3 atau string = "freeCodeCamp" print(string[0:5])5 dapat diisi dengan angka negatif. Angka negatif berarti kita tidak memulai perhitungan dari awal string tetapi kita memulai perhitungan dari akhir string (dari kanan ke kiri).
Indeks -1 berarti karakter akhir dari string, -2 berarti karakter kedua dari akhir dan seterusnya.
4. Mendapatkan 5 karakter terakhir dari sebuah string
string = "freeCodeCamp" print(string[-5:])Output:
> eCamp5. Mendapatkan substring yang berisi semua karakter kecuali 4 karakter terakhir serta karakter pertama dari string
string = "freeCodeCamp" print(string[1:-4])Output:
string = "freeCodeCamp" print(string[0:5])06. Mendapatkan setiap karakter lain dari sebuah string
Output:
string = "freeCodeCamp" print(string[0:5])2ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT
Read more posts. Read more posts.
If you read this far, tweet to the author to show them you care. Tweet a thanks
Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started
Untuk mengambil sebagian dataset dari sebuah dataframe, Anda dapat lakukan slicing. Slicing bisa dilakukan terhadap column atau row.
Memilih Kolom Data
Anda bisa memilih kolom tertentu saja. Bisa single column atau multicolumn.
import pandas as pd df = pd.read_csv("airbnb.csv") #pendekatan array df["host_name"] #atau pendekatan dot df.host_name #multicolumn df[["host_name", "neighbourhood_group"]]Filtering DataFrame
Contohnya tampilkan data dengan host_name= “Taz”.
df[df.host_name == "Taz"]Jika logic filtering rumit, Anda bisa buat aturan filter dalam variable.
mask = df.host_name == "Taz" df[mask]Negasi juga bisa digunakan untuk filter. Padsa contoh filter untuk host_name == “Taz”, kita ingin menampilkan semua data kecuali Taz.
mask = df.host_name == "Taz" df[~mask]Lebih lanjut, Anda bisa tambahkan operasi juga pada mask diatas, contoh fungsi sum().
mask = df.host_name == "Taz" mask.sum() #perintah mask diatas sama dengan (df.host_name == "Taz").sum()Filtering juga bisa lebih dari satu kolom, contoh ingin menampilkan data harga dibawah 100 dan minimum nights dibawah 3 malam.
filter2 = (df.price < 100) & (df.minimum_nights<3) filter2.sum()Filtering Column dan Row
Untuk menampilkan data dengan filtering column dan row, gunakan fungsi loc. Aturan Python slicing juga dapat digunakan.
#menampilkan data dengan filter mask, kolom host_name dan neighbourhood. df.loc[mask, ["host_name", "neighbourhood_group"]] #menampilkan data dengan filter mask, dari kolom host_name sampai dengan neighbourhood. df.loc[mask, "host_id" : "neighbourhood_group"] #menampilkan data dengan filter mask, seluruh kolom. df.loc[mask, :]Slicing berdasarkan index
Untuk slicing menggunakan index, gunakan fungsi iloc. Aturan Python slicing juga bisa digunakan.
#menampilkan data baris ke 0, kolom ketiga (host_name). df.iloc[0, 3] #mengembalikan 'John' #menampilkna data baris ke 0, semua kolom df.iloc[0, :]id 2539 name Clean & quiet apt home by the park host_id 2787 host_name John neighbourhood_group Brooklyn neighbourhood Kensington latitude 40.6475 longitude -73.9724 room_type Private room price 149 minimum_nights 1 number_of_reviews 9 last_review 2018-10-19 reviews_per_month 0.21 calculated_host_listings_count 6 availability_365 365 Name: 0, dtype: objectMenggunakan Mask Helper
Mask helper adalah fungsi seperti between dan isin. Berikut contoh menampilkan data dengan harga antara 100 dan 200.
df.loc[df.price.between(100,200), ["host_name", "price"]].head()df[df.host_name == "Taz"] 0Berikut adalah contoh menampilkan data dengan price adalah 100 atau 200.
df[df.host_name == "Taz"] 1df[df.host_name == "Taz"] 2Teknik diatas adalah teknik yang umum digunakan. Masih banyak teknik yang bisa digunakan, dan tidak bisa dibahas satu persatu. Silakan bereksperimen.