Tutorial ini menggunakan kumpulan data Titanic, yang disimpan sebagai CSV. Data terdiri dari kolom data berikut Show
In [2]: titanic = pd.read_csv("data/titanic.csv") In [3]: titanic.head() Out[3]: PassengerId Survived Pclass .. Fare Cabin Embarked 0 1 0 3 .. 7.2500 NaN S 1 2 1 1 .. 71.2833 C85 C 2 3 1 3 .. 7.9250 NaN S 3 4 1 1 .. 53.1000 C123 S 4 5 0 3 .. 8.0500 NaN S [5 rows x 12 columns] In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float643? Bagaimana cara memilih kolom tertentu dari In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float64 3?
Setiap kolom dalam a adalah a. Saat satu kolom dipilih, objek yang dikembalikan adalah panda. Kami dapat memverifikasi ini dengan memeriksa jenis output In [6]: type(titanic["Age"]) Out[6]: pandas.core.series.Series Dan lihat In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float649 dari output In [7]: titanic["Age"].shape Out[7]: (891,) adalah atribut (ingat, jangan gunakan tanda kurung untuk atribut) dari panda In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float647 dan In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float643 berisi jumlah baris dan kolom. (nrows, ncolumns). Seri panda adalah 1 dimensi dan hanya jumlah baris yang dikembalikan
Catatan Tanda kurung dalam mendefinisikan a dengan nama kolom, sedangkan tanda kurung luar digunakan untuk memilih data dari panda In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float643 seperti yang terlihat pada contoh sebelumnya Tipe data yang dikembalikan adalah DataFrame panda In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2) Pemilihan mengembalikan In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float64_3 dengan 891 baris dan 2 kolom. Ingat, In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float643 adalah 2 dimensi dengan dimensi baris dan kolom Ke panduan pengguna Untuk informasi dasar tentang pengindeksan, lihat bagian panduan pengguna di Bagaimana cara memfilter baris tertentu dari In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float64 3?
Kondisi di dalam tanda kurung pilihan In [6]: type(titanic["Age"]) Out[6]: pandas.core.series.Series_9 memeriksa baris mana dari kolom In [7]: titanic["Age"].shape Out[7]: (891,)0 yang memiliki nilai lebih besar dari 35 In [14]: titanic["Age"] > 35 Out[14]: 0 False 1 True 2 False 3 False 4 False .. 886 False 887 False 888 False 889 False 890 False Name: Age, Length: 891, dtype: bool Output dari ekspresi bersyarat ( In [7]: titanic["Age"].shape Out[7]: (891,)_1, tetapi juga In [7]: titanic["Age"].shape Out[7]: (891,)2, In [7]: titanic["Age"].shape Out[7]: (891,)3, In [7]: titanic["Age"].shape Out[7]: (891,)4, In [7]: titanic["Age"].shape Out[7]: (891,)5,… akan bekerja) sebenarnya adalah panda In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float647 dari nilai boolean (baik In [7]: titanic["Age"].shape Out[7]: (891,)7 atau In [7]: titanic["Age"].shape Out[7]: (891,)12___3 sebagai __3 baris). In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float64_7 nilai boolean seperti itu dapat digunakan untuk memfilter In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float643 dengan meletakkannya di antara tanda kurung pilihan In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float645. Hanya baris yang nilainya In [7]: titanic["Age"].shape Out[7]: (891,)7 yang akan dipilih Kita tahu sebelumnya bahwa Titanic In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float643 asli terdiri dari 891 baris. Mari kita lihat jumlah baris yang memenuhi syarat dengan mencentang atribut In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float649 dari hasil In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float643 In [8]: age_sex = titanic[["Age", "Sex"]] In [9]: age_sex.head() Out[9]: Age Sex 0 22.0 male 1 38.0 female 2 26.0 female 3 35.0 female 4 35.0 male7 In [2]: titanic = pd.read_csv("data/titanic.csv") In [3]: titanic.head() Out[3]: PassengerId Survived Pclass .. Fare Cabin Embarked 0 1 0 3 .. 7.2500 NaN S 1 2 1 1 .. 71.2833 C85 C 2 3 1 3 .. 7.9250 NaN S 3 4 1 1 .. 53.1000 C123 S 4 5 0 3 .. 8.0500 NaN S [5 rows x 12 columns]0
Di atas sama dengan memfilter menurut baris yang kelasnya adalah 2 atau 3 dan menggabungkan dua pernyataan dengan operator In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame3 (atau) In [2]: titanic = pd.read_csv("data/titanic.csv") In [3]: titanic.head() Out[3]: PassengerId Survived Pclass .. Fare Cabin Embarked 0 1 0 3 .. 7.2500 NaN S 1 2 1 1 .. 71.2833 C85 C 2 3 1 3 .. 7.9250 NaN S 3 4 1 1 .. 53.1000 C123 S 4 5 0 3 .. 8.0500 NaN S [5 rows x 12 columns]_2 Catatan Saat menggabungkan beberapa pernyataan bersyarat, setiap kondisi harus diapit oleh tanda kurung In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame4. Selain itu, Anda tidak dapat menggunakan In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame_5/ In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame6 tetapi perlu menggunakan operator In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame5 In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame3 dan operator In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame6 In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2)0 Ke panduan pengguna Lihat bagian khusus dalam panduan pengguna tentang atau tentang
Anda mungkin bertanya-tanya apa yang sebenarnya berubah, karena 5 baris pertama masih memiliki nilai yang sama. Salah satu cara untuk memverifikasi adalah dengan memeriksa apakah bentuknya telah berubah In [2]: titanic = pd.read_csv("data/titanic.csv") In [3]: titanic.head() Out[3]: PassengerId Survived Pclass .. Fare Cabin Embarked 0 1 0 3 .. 7.2500 NaN S 1 2 1 1 .. 71.2833 C85 C 2 3 1 3 .. 7.9250 NaN S 3 4 1 1 .. 53.1000 C123 S 4 5 0 3 .. 8.0500 NaN S [5 rows x 12 columns]_4 Ke panduan pengguna Untuk fungsi khusus lainnya tentang nilai yang hilang, lihat bagian panduan pengguna tentang Bagaimana cara memilih baris dan kolom tertentu dari In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float64 3?
Saat menggunakan nama kolom, label baris, atau ekspresi kondisi, gunakan operator In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2)7 di depan tanda kurung pilihan In [4]: ages = titanic["Age"] In [5]: ages.head() Out[5]: 0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: Age, dtype: float645. Untuk bagian sebelum dan sesudah koma, Anda dapat menggunakan label tunggal, daftar label, irisan label, ekspresi bersyarat, atau titik dua. Menggunakan titik dua menentukan Anda ingin memilih semua baris atau kolom
Saat memilih baris dan/atau kolom tertentu dengan In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2)7 atau In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2)8, nilai baru dapat diberikan ke data yang dipilih. Misalnya, untuk menetapkan nama In [12]: above_35 = titanic[titanic["Age"] > 35] In [13]: above_35.head() Out[13]: PassengerId Survived Pclass .. Fare Cabin Embarked 1 2 1 1 .. 71.2833 C85 C 6 7 0 1 .. 51.8625 E46 S 11 12 1 1 .. 26.5500 C103 S 13 14 0 3 .. 31.2750 NaN S 15 16 1 2 .. 16.0000 NaN S [5 rows x 12 columns]_9 ke 3 elemen pertama dari kolom ketiga In [2]: titanic = pd.read_csv("data/titanic.csv") In [3]: titanic.head() Out[3]: PassengerId Survived Pclass .. Fare Cabin Embarked 0 1 0 3 .. 7.2500 NaN S 1 2 1 1 .. 71.2833 C85 C 2 3 1 3 .. 7.9250 NaN S 3 4 1 1 .. 53.1000 C123 S 4 5 0 3 .. 8.0500 NaN S [5 rows x 12 columns]_7 Ke panduan pengguna Lihat bagian panduan pengguna untuk mendapatkan lebih banyak wawasan tentang penggunaan In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2)7 dan In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2)8 INGAT
|