Pemeriksaan Asas DataFrame
Gunakan head(), tail(), info(), describe() dan shape untuk memahami kandungan serta struktur mana-mana DataFrame dengan pantas.
Pemeriksaan Asas DataFrame ialah pelajaran Pandas & NumPy Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pandas & NumPy Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pandas & NumPy Academy merangkumi sejumlah 4 pelajaran.
Lima Langkah Pertama dengan Mana-mana DataFrame
Setiap kali anda memuatkan set data baharu, urutan pemeriksaan yang sistematik dapat menjimatkan berjam-jam penyahpepijatan. Kit alat Pandas untuk tujuan ini merangkumi: head() untuk melihat baris pertama, tail() untuk baris terakhir, info() untuk jenis lajur dan nilai nol, describe() untuk statistik, serta shape untuk dimensi. Menjalankan lima pemeriksaan ini mengambil masa kurang daripada seminit dan mendedahkan kebanyakan isu kualiti data dengan serta-merta.
import pandas as pd
# Assume df is loaded from a CSV
print(df.shape) # (rows, cols)
df.head() # first 5 rows
df.info() # dtypes + non-null counts
df.describe() # statisticshead() dan tail()
df.head(n) mengembalikan n baris pertama (lalai 5) sebagai DataFrame. df.tail(n) mengembalikan n baris terakhir. Kedua-duanya membantu anda mengesahkan bahawa data dihuraikan dengan betul — memeriksa bahawa nama lajur berada dalam baris pengepala, lajur berangka mengandungi nombor, dan rentetan tarikh tidak disalahtafsirkan. Kedua-duanya tidak merosakkan data dan mengembalikan DataFrames baharu.
import pandas as pd
df = pd.DataFrame({'a': range(20), 'b': range(20, 40)})
print(df.head(3))
# a b
# 0 0 20
# 1 1 21
# 2 2 22
print(df.tail(2))
# a b
# 18 18 38
# 19 19 39info(): Jenis dan Kiraan Bukan Nol
df.info() mencetak ringkasan padat: dtype indeks, bilangan nilai bukan nol bagi setiap lajur, dtype setiap lajur, serta jumlah penggunaan memori. Lajur yang mempunyai lebih sedikit nilai bukan nol berbanding jumlah baris mengandungi data yang hilang. Dtype objek sering menandakan lajur rentetan (atau lajur dengan jenis bercampur) yang mungkin perlu dibersihkan sebelum analisis.
import pandas as pd
import numpy as np
df = pd.DataFrame({'name': ['A', 'B', None],
'score': [80.0, np.nan, 90.0],
'grade': ['A', 'C', 'A']})
df.info()
# Column Non-Null Count Dtype
# name 2 non-null object
# score 2 non-null float64
# grade 3 non-null objectdescribe(): Ringkasan Statistik
df.describe() mengira kiraan, min, std, min, persentil ke-25, ke-50 (median), ke-75, dan max untuk semua lajur berangka. Hantar include='all' untuk turut meringkaskan lajur objek (rentetan). Hantar include='object' untuk meringkaskan kategori sahaja. Output itu sendiri ialah DataFrame, jadi anda boleh menyimpannya atau menetapkan gayanya untuk laporan.
import pandas as pd
df = pd.DataFrame({'age': [25, 30, 35, 40], 'score': [88, 72, 91, 65]})
print(df.describe().round(1))
# age score
# count 4.0 4.0
# mean 32.5 79.0
# std 6.5 12.0shape, ndim, dan size
df.shape ialah tupel (nrows, ncols). df.ndim sentiasa mengembalikan 2 untuk DataFrames. df.size ialah jumlah keseluruhan sel. Gunakan len(df) untuk bilangan baris (sama seperti df.shape[0]). Ini ialah pemeriksaan kewarasan yang paling mudah — sahkan bilangan baris yang dijangka selepas memuatkan data dan selepas setiap langkah penapisan.
import pandas as pd
df = pd.DataFrame({'x': range(100), 'y': range(100), 'z': range(100)})
print(df.shape) # (100, 3)
print(len(df)) # 100
print(df.size) # 300
print(df.ndim) # 2dtypes dan select_dtypes()
df.dtypes mengembalikan Siri yang memetakan setiap nama lajur kepada dtype-nya. df.select_dtypes(include='number') mengembalikan DataFrame baharu yang hanya mengandungi lajur berangka — berguna untuk mengira korelasi atau menggunakan transformasi berangka tanpa tersilap beroperasi pada lajur rentetan. Hantar exclude='object' untuk menggugurkan lajur teks.
import pandas as pd
df = pd.DataFrame({'a': [1,2], 'b': [1.0,2.0], 'c': ['x','y']})
print(df.dtypes)
# a int64
# b float64
# c object
numeric = df.select_dtypes(include='number')
print(numeric.columns.tolist()) # ['a', 'b']isnull() dan Kiraan Null
df.isnull().sum() memberikan kiraan nilai yang hilang bagi setiap lajur — cara terpantas untuk mencari lajur yang perlu dibersihkan. Bahagikan dengan len(df) untuk mendapatkan perkadaran nilai yang hilang. Lajur yang lebih daripada 50% nilainya hilang selalunya memerlukan pengendalian khas: sama ada menggugurkannya atau menggunakan imputasi khusus domain.
import pandas as pd
import numpy as np
df = pd.DataFrame({'a': [1, np.nan, 3], 'b': [np.nan, np.nan, 6]})
print(df.isnull().sum())
# a 1
# b 2
print((df.isnull().sum() / len(df)).round(2))
# a 0.33
# b 0.67value_counts() pada Lajur DataFrame
Memanggil df['col'].value_counts() menyenaraikan kekerapan setiap nilai unik dalam lajur tersebut, diisih mengikut kiraan. Tambah normalize=True untuk mendapatkan peratusan. Gunakan dropna=False untuk turut mengira NaN sebagai kategori. Ini ialah cara terpantas untuk menyemak ketidakseimbangan kategori atau nilai tidak dijangka dalam lajur kategori.
import pandas as pd
df = pd.DataFrame({'status': ['active','inactive','active','active','banned']})
print(df['status'].value_counts())
# active 3
# inactive 1
# banned 1
print(df['status'].value_counts(normalize=True).round(2))Pemeriksaan columns dan index
df.columns.tolist() memberikan senarai Python biasa bagi nama lajur — berguna untuk manipulasi terprogram atau pengelogan. df.index menunjukkan label baris dan jenisnya. Semak df.index.is_unique untuk mengesahkan bahawa tiada label baris pendua, yang merupakan prasyarat bagi banyak operasi gabungan dan pengiraan siri masa.
import pandas as pd
df = pd.DataFrame({'a': [1,2,3]}, index=['x', 'y', 'z'])
print(df.columns.tolist()) # ['a']
print(df.index.tolist()) # ['x', 'y', 'z']
print(df.index.is_unique) # Truesample() untuk Pemeriksaan Rawak
df.sample(n) mengembalikan n baris yang dipilih secara rawak tanpa penggantian. df.sample(frac=0.1) mengembalikan 10% baris. Tetapkan random_state= untuk kebolehulangan. Persampelan rawak lebih baik daripada head() untuk mengesan isu di tengah-tengah set data besar yang mungkin tidak muncul dalam beberapa baris pertama.
import pandas as pd
df = pd.DataFrame({'x': range(1000), 'y': range(1000)})
print(df.sample(3, random_state=42))
print(df.sample(frac=0.005, random_state=0)) # 0.5% of rowsmemory_usage() untuk Peruntukan Saiz
df.memory_usage(deep=True) mengembalikan memori yang digunakan oleh setiap lajur dalam bait. deep=True memaksa pengukuran tepat bagi lajur dtype objek yang rentetannya berada di luar penimbal DataFrame. Jumlahkan nilai tersebut untuk mendapatkan jumlah memori. Gunakan ini sebelum dan selepas penurunan dtype untuk mengesahkan bahawa penggunaan memori telah dikurangkan.
import pandas as pd
df = pd.DataFrame({'a': range(10000), 'b': [str(i) for i in range(10000)]})
usage = df.memory_usage(deep=True)
print(usage)
print('Total bytes:', usage.sum())Semakan Pantas
Uji pemahaman anda tentang pemeriksaan asas DataFrame daripada pelajaran ini.
Ulang Kaji Pelajaran
Dalam pelajaran ini anda telah mempelajari: head() dan tail() membolehkan anda memeriksa secara visual bahagian awal dan akhir DataFrame, info() mendedahkan dtypes dan kiraan nilai yang hilang dalam satu panggilan, dan describe() menyediakan ringkasan statistik untuk lajur berangka. Seterusnya kita akan memuatkan data daripada format fail yang paling biasa — CSV, Excel, dan JSON — ke dalam DataFrames.
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Pemeriksaan Asas DataFrame” percuma?
Ya — teks penuh “Pemeriksaan Asas DataFrame” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Pandas & NumPy Academy, tingkat taraf kepada CoddyKit PRO. Kursus Pandas & NumPy Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Pemeriksaan Asas DataFrame”?
Gunakan head(), tail(), info(), describe() dan shape untuk memahami kandungan serta struktur mana-mana DataFrame dengan pantas. Anda berlatih Pandas & NumPy Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Pandas & NumPy Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Pandas & NumPy Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Pemeriksaan Asas DataFrame” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pandas & NumPy Academy ini?
Ya. Setiap pelajaran Pandas & NumPy Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Mencipta DataFrames
- Memilih Lajur dan Baris
- Menambah dan Menggugurkan Lajur
- Pemeriksaan Asas DataFrame