Method copy() berguna untuk mengcopy series atau dataframe menjadi object yang terpisah dari object sebelumnya.
Mari kita load library dan data yang digunakan.
import pandas as pd
df = pd.read_csv("jamesbond.csv", index_col="Film")
df.sort_index(inplace=True)
Jika tidak menggunakan method copy(), series/dataframe yang baru masih terhubung dengan object sebelumnya. Setiap perubahan pada series/dataframe yang baru, akan terjadi pada dataframe original. Untuk lebih jelas, lihat contoh berikut:
Kita buat series dengan data director.
directors = df["Director"] directors.head()
Film
A View to a Kill John Glen
Casino Royale Martin Campbell
Casino Royale Ken Hughes
Diamonds Are Forever Guy Hamilton
Die Another Day Lee Tamahori
Name: Director, dtype: object
Lalu kita lakukan perubahan pada series directors, dengan mengganti “John Glen” menjadi kata “testing”.
directors["A View to a Kill"] = "Testing"
Python akan memberikan warning bahwa data yang diubah adalah bagian dari dataframe original.
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:1: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
"""Entry point for launching an IPython kernel.
Dan, bila kita periksa pada dataframe original, data director untuk film “A View to a Kill” ikut berubah.
directors2 = df["Director"].copy()
Jika Anda lakukan perubahan pada series director2, tidak akan mengubah data pada dataframe original, dan Python juga tidak akan menampilkan warning message.
directors2.head()
Film
A View to a Kill Testing
Casino Royale Martin Campbell
Casino Royale Ken Hughes
Diamonds Are Forever Guy Hamilton
Die Another Day Lee Tamahori
Name: Director, dtype: object
df.head()
Dengan berakhirnya modul ini, tutorial Pandas Dasar untuk Data Scientist sudah selesai. Pada tutorial berikutnya akan dibahas Pandas Advanced untuk Data Scientist.
Semoga bermanfaat.