Tutorial ini menggunakan kumpulan data Titanic, yang disimpan sebagai CSV. Data terdiri dari kolom data berikut
Id Penumpang. identitas setiap penumpang
Selamat. Indikasi apakah penumpang selamat. 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] 8 untuk ya dan 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] 9 untuk tidak
Pclass. Satu dari 3 kelas tiket. Kelas 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] _9, Kelas 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 1 dan Kelas 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 2
Nama. Nama penumpang
Seks. Jenis kelamin penumpang
Usia. Usia penumpang dalam tahun
SibSp. Jumlah saudara kandung atau pasangan di atas kapal
Memanggang. Jumlah orang tua atau anak di atas kapal
Tiket. Nomor tiket penumpang
Tarif. Menunjukkan tarif
Kabin. Nomor kabin penumpang
Memulai. Pelabuhan pemberangkatan
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]
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?
Saya tertarik dengan usia penumpang 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: float64
Untuk memilih satu kolom, gunakan tanda kurung siku 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 5 dengan nama kolom dari kolom yang diminati
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: float64 9 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: float64 7 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: float64 3 berisi jumlah baris dan kolom. (nrows, ncolumns). Seri panda adalah 1 dimensi dan hanya jumlah baris yang dikembalikan
Saya tertarik dengan usia dan jenis kelamin penumpang Titanic
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 male
Untuk memilih beberapa kolom, gunakan daftar nama kolom di dalam 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: float64 5
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: float64 3 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: float64 3 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?
Saya tertarik dengan penumpang yang berusia lebih dari 35 tahun
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]
Untuk memilih baris berdasarkan ekspresi bersyarat, gunakan kondisi di dalam 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: float64 5
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: float64 7 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: float64 3 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: float64 5. 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: float64 3 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: float64 9 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: float64 3 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 male 7
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
Saya tertarik dengan penumpang Titanic dari kabin kelas 2 dan 3
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] _1
Mirip dengan ekspresi kondisional, fungsi kondisional mengembalikan In [7]: titanic["Age"].shape Out[7]: (891,) 7 untuk setiap baris nilai dalam daftar yang disediakan. Untuk memfilter baris berdasarkan fungsi tersebut, gunakan fungsi kondisional di dalam 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: float64 5. Dalam hal ini, kondisi di dalam tanda kurung pilihan In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame 1 memeriksa baris mana dari kolom In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame 2 adalah 2 atau 3
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.DataFrame 3 (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.DataFrame 4. 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.DataFrame 6 tetapi perlu menggunakan operator In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame 5 In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame 3 dan operator In [10]: type(titanic[["Age", "Sex"]]) Out[10]: pandas.core.frame.DataFrame 6 In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2) 0
Ke panduan pengguna
Lihat bagian khusus dalam panduan pengguna tentang atau tentang
Saya ingin bekerja dengan data penumpang yang usianya diketahui
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] _3
Fungsi bersyarat mengembalikan In [7]: titanic["Age"].shape Out[7]: (891,) _7 untuk setiap baris nilainya bukan nilai In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2) 3. Dengan demikian, ini dapat digabungkan dengan 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: float64 5 untuk memfilter tabel data
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?
Saya tertarik dengan nama penumpang yang berusia lebih dari 35 tahun
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] 5
Dalam hal ini, subhimpunan dari baris dan kolom dibuat sekaligus dan hanya menggunakan 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: float64 5 tidak cukup lagi. Operator In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2) 7/In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2) 8 diperlukan 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: float64 5. Saat menggunakan In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2) 7/In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2) 8, bagian sebelum koma adalah baris yang Anda inginkan, dan bagian setelah koma adalah kolom yang ingin Anda pilih
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: float64 5. 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
Saya tertarik pada baris 10 sampai 25 dan kolom 3 sampai 5
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] _6
Sekali lagi, subset dari baris dan kolom dibuat sekaligus dan hanya menggunakan 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: float64 5 tidak cukup lagi. Jika tertarik secara khusus pada baris dan/atau kolom tertentu berdasarkan posisinya dalam tabel, gunakan operator In [11]: titanic[["Age", "Sex"]].shape Out[11]: (891, 2) 8 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: float64 5
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
Saat memilih subset data, tanda kurung siku 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 5 digunakan
Di dalam tanda kurung ini, Anda dapat menggunakan label kolom/baris tunggal, daftar label kolom/baris, irisan label, ekspresi bersyarat, atau tanda titik dua
Bagaimana cara mencetak baris tertentu dalam file CSV dengan python?
Langkah 1. Untuk membaca baris dalam Python, Pertama, kita perlu memuat file CSV dalam satu objek. Jadi untuk memuat file csv ke objek gunakan metode open(). Langkah 2. Buat objek pembaca dengan meneruskan objek file yang dibuat di atas ke fungsi pembaca. Langkah 3. Gunakan for loop pada objek pembaca untuk mendapatkan setiap barisBagaimana cara membaca baris tertentu dari file CSV di panda?
Baca File CSV .Muat CSV ke dalam DataFrame. impor panda sebagai pd. df = pd. baca_csv('data. csv').Cetak DataFrame tanpa metode to_string(). impor panda sebagai pd. .Periksa jumlah baris maksimum yang dikembalikan. impor panda sebagai pd. .Tingkatkan jumlah maksimum baris untuk menampilkan seluruh DataFrame. impor panda sebagai pdBagaimana cara mencetak kolom tertentu dalam file CSV dengan python?
Untuk membaca kolom tertentu dari file csv, kami akan meneruskan daftar kolom yang akan dibaca sebagai argumen input ke parameter ' usecols '. After execution, the read_csv() method returns the dataframe with specific columns as shown in the following example.Bagaimana cara membaca file CSV dari baris tertentu dengan python?
Langkah-Langkah Untuk Membaca Baris Tertentu Dari File .Buka file dalam Mode Baca. Untuk membuka file, lewati jalur file dan akses mode r ke fungsi open(). .Buat daftar untuk menyimpan nomor baris. .Buat daftar untuk menyimpan baris. .Gunakan for loop dengan fungsi enumerate() untuk mendapatkan garis dan nomornya. .Baca file dengan nomor baris