Merumuskan Dapatan dalam Laporan
Himpunkan pandangan utama dalam ringkasan markdown berstruktur dengan rujukan visualisasi terbenam dan langkah seterusnya yang boleh diambil tindakan.
Merumuskan Dapatan dalam Laporan 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.
Mengapa Laporan EDA Berstruktur Penting
Notebook Jupyter mentah yang mengandungi ratusan plot dan sel kod sukar dikongsi dengan pihak berkepentingan yang perlu mengambil tindakan berdasarkan dapatan. Laporan ringkasan EDA berstruktur meringkaskan pandangan paling penting daripada semua analisis univariat dan bivariat anda menjadi naratif yang jelas. Laporan yang baik membezakan dapatan (apa yang ditunjukkan oleh data) daripada implikasi (tindakan yang perlu diambil) dan hanya menyertakan visualisasi sokongan untuk dakwaan utama.
Enam Bahagian Laporan EDA
Laporan EDA profesional biasanya mengandungi enam bahagian: 1) Gambaran Keseluruhan Set Data (bentuk, sumber, tempoh masa), 2) Isu Kualiti Data (nilai hilang, pencilan, pendua dan pengendaliannya), 3) Taburan Pemboleh Ubah Utama (lajur berangka dan kategori yang paling penting), 4) Korelasi dan Perkaitan (hubungan dengan magnitud tertinggi yang ditemui), 5) Pandangan Subkumpulan (perbezaan kumpulan yang penting untuk persoalan perniagaan), dan 6) Langkah Seterusnya yang Disyorkan (tindakan pembersihan, cadangan pemodelan).
Menulis Bahagian Gambaran Keseluruhan Set Data
Bahagian gambaran keseluruhan hendaklah dijana secara teratur melalui kod bagi memastikan ketepatannya sentiasa terjamin. Rekodkan bentuk, nama lajur dan jenis data, julat tarikh (jika berkenaan), serta sumber atau versi set data. Menulis bahagian ini dalam kod dan bukannya prosa mengelakkan ralat lazim, iaitu menerangkan set data dengan 10,000 baris dalam laporan yang sebenarnya dijana daripada versi bersih dengan 9,800 baris.
import pandas as pd
import seaborn as sns
df = sns.load_dataset('titanic')
print('=== DATASET OVERVIEW ===')
print(f'Shape: {df.shape[0]:,} rows x {df.shape[1]} columns')
print(f'Columns: {", ".join(df.columns)}')
print(f'Numeric: {df.select_dtypes("number").shape[1]} columns')
print(f'Categorical: {df.select_dtypes("object").shape[1]} columns')
print(f'Boolean: {df.select_dtypes("bool").shape[1]} columns')
print(f'Total missing cells: {df.isna().sum().sum():,}')
print(f'Duplicate rows: {df.duplicated().sum()}')Menulis Bahagian Kualiti Data
Bahagian kualiti data menyenaraikan setiap isu yang ditemui serta keputusan yang dibuat untuk setiap isu. Gunakan format jadual dengan lajur: Lajur, Isu, Keterukan (Tinggi/Sederhana/Rendah), Tindakan Diambil. Kira jadual ini secara teratur melalui kod daripada hasil pemprofilan supaya jadual dikemas kini secara automatik apabila data berubah. Keterukan hendaklah mencerminkan kesan terhadap perniagaan — pemboleh ubah sasaran yang hilang berketerukan Tinggi, manakala lajur bukan peramal yang hilang mungkin berketerukan Rendah.
import pandas as pd
import seaborn as sns
df = sns.load_dataset('titanic')
# Auto-generate data quality table
missing_pct = (df.isna().sum() / len(df) * 100).round(1)
quality = missing_pct[missing_pct > 0].to_frame(name='missing_pct')
quality['severity'] = quality['missing_pct'].apply(
lambda x: 'High' if x > 30 else ('Medium' if x > 10 else 'Low')
)
quality['action'] = quality['missing_pct'].apply(
lambda x: 'Drop column' if x > 50 else 'Impute or flag'
)
print(quality.to_string())Menjana Rajah Ringkasan Berbilang Panel
Rajah ringkasan menggabungkan beberapa plot menjadi satu imej yang boleh disematkan dalam laporan. Gunakan plt.subplots(rows, cols) untuk mencipta grid dan berikan setiap dapatan utama panelnya sendiri. Simpan rajah dengan savefig() pada DPI yang sesuai untuk format output (150 untuk skrin, 300 untuk cetakan). Tajukkan setiap panel dengan pernyataan dapatan yang jelas seperti 'Tambang condong kuat ke kanan (kecondongan=4.1)', bukannya nama lajur sahaja.
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = sns.load_dataset('titanic')
fig, axes = plt.subplots(2, 2, figsize=(12, 10))
# 1. Fare distribution
sns.histplot(df['fare'], kde=True, bins=30, ax=axes[0][0])
axes[0][0].set_title('Fare is right-skewed (skew=4.1)')
# 2. Survival by class
survival = df.groupby('class')['survived'].mean().reset_index()
sns.barplot(data=survival, x='class',
y='survived', order=['First', 'Second', 'Third'], ax=axes[0][1])
axes[0][1].set_title('Survival Rate Drops by Class')
# 3. Age distribution
sns.histplot(df['age'].dropna(), kde=True, bins=25, ax=axes[1][0], color='coral')
axes[1][0].set_title('Age: Near-Normal, Missing 20%')
# 4. Embarkation counts
sns.countplot(data=df, x='embarked', ax=axes[1][1], palette='Set2')
axes[1][1].set_title('Most Boarded at Southampton')
plt.tight_layout()
plt.savefig('/tmp/eda_summary.png', dpi=150, bbox_inches='tight')
plt.show()
print('Saved: /tmp/eda_summary.png')Menulis Dapatan sebagai Teks Naratif
Setiap dapatan utama hendaklah dinyatakan sebagai ayat yang berkaitan dengan perniagaan, bukannya penerangan teknikal. Daripada menulis 'Lajur tambang mempunyai kecondongan=4.1', tulislah 'Harga tiket sangat condong ke kanan — sebilangan kecil penumpang kelas pertama membayar lebih daripada 10× tambang median, yang mungkin memesongkan analisis hasil yang menggunakan purata harga.' Penterjemahan daripada pemerhatian statistik kepada implikasi perniagaan inilah yang menjadikan laporan EDA bernilai kepada pihak berkepentingan bukan teknikal.
Menjana Laporan Markdown Secara Teratur melalui Kod
Anda boleh menulis laporan EDA sebagai fail markdown terus daripada Python. Bina rentetan yang mengandungi tajuk markdown, senarai berbulet dan pautan imej terbenam, kemudian tulis rentetan itu ke dalam .md. Pendekatan ini menghasilkan laporan boleh ulang jana yang dikemas kini secara automatik apabila data asas berubah, menjadikannya sesuai untuk disepadukan ke dalam artifak output saluran paip data atau repositori Git.
import pandas as pd
import seaborn as sns
df = sns.load_dataset('titanic')
# Build a simple markdown report
lines = [
'# EDA Summary Report: Titanic Dataset',
'',
'## Overview',
f'- **Rows:** {len(df):,}',
f'- **Columns:** {df.shape[1]}',
f'- **Total Missing Cells:** {df.isna().sum().sum():,}',
'',
'## Key Findings',
'- First-class passengers had a 63% survival rate vs 24% for third class.',
'- Fare is extremely right-skewed (skew=4.1); use log transform before modelling.',
'- Age is missing in 20% of rows — median imputation recommended.',
'',
'## Recommended Next Steps',
'1. Impute age with median grouped by class.',
'2. Drop the cabin column (77% missing).',
'3. Log-transform fare before any regression modelling.',
]
with open('/tmp/eda_report.md', 'w') as f:
f.write('\n'.join(lines))
print('Report written to /tmp/eda_report.md')
print('\n'.join(lines[:10]))Mengeksport ke HTML dengan Jupyter
Notebook Jupyter boleh dieksport ke HTML atau PDF menggunakan jupyter nbconvert --to html notebook.ipynb. Semua plot, kod dan sel markdown dikekalkan dalam satu fail boleh kongsi yang tidak memerlukan pemasangan Python untuk dilihat. Untuk saluran paip yang diautomatikkan sepenuhnya, jalankan notebook secara teratur melalui kod dengan papermill: papermill input.ipynb output.ipynb -p date '2024-01-01', yang menetapkan parameter dan melaksanakan notebook sebagai skrip.
# To export a Jupyter notebook to HTML:
# jupyter nbconvert --to html eda_notebook.ipynb
# To parameterise and run with papermill:
# pip install papermill
# papermill eda_template.ipynb eda_2024.ipynb -p date '2024-01-01' -p min_rows 1000
# The output notebook can then be exported:
# jupyter nbconvert --to html eda_2024.ipynb
print('Jupyter nbconvert and papermill automate report generation.')Menyusun Langkah Seterusnya yang Boleh Diambil Tindakan
Bahagian langkah seterusnya yang disyorkan selalunya merupakan bahagian laporan EDA yang paling banyak dibaca. Susunkannya sebagai senarai semak mengikut keutamaan: P1 (menghalang) — isu yang mesti dibetulkan sebelum sebarang analisis sah (contohnya jenis data yang dikenal pasti secara salah), P2 (penting) — tindakan pembersihan yang memberi kesan ketara terhadap prestasi model (contohnya pengendalian pencilan), P3 (tambahan) — idea pengayaan dan sumber data tambahan untuk diterokai. Kerangka ini memudahkan pasukan memperuntukkan usaha dengan sewajarnya.
Menggunakan pandas-profiling untuk Pelaporan Pantas
ydata-profiling (pip install ydata-profiling) menjana laporan HTML menyeluruh dengan satu panggilan sahaja. Laporan ini merangkumi statistik gambaran keseluruhan, taburan pemboleh ubah, korelasi, corak nilai hilang dan pengesanan pendua — semua bahagian dalam laporan EDA manual. Gunakannya untuk penerokaan pantas pada permulaan projek, kemudian tulis laporan ringkasan tersuai untuk menonjolkan dapatan yang paling berkaitan dengan persoalan perniagaan khusus anda.
# pip install ydata-profiling
# from ydata_profiling import ProfileReport
# import seaborn as sns
# df = sns.load_dataset('titanic')
# profile = ProfileReport(df, title='Titanic EDA')
# profile.to_file('titanic_eda.html') # interactive HTML
# profile.to_notebook_iframe() # inline in Jupyter
# Key sections in the generated report:
# - Overview: shape, missing, duplicates
# - Variables: per-column statistics and plots
# - Correlations: Pearson, Spearman, Cramers V
# - Missing values: heatmap and dendrogram
# - Duplicates: full list of duplicate rows
print('ydata-profiling generates full EDA reports with one function call.')Corak Antilaporan EDA yang Perlu Dielakkan
Corak antilaporan EDA yang lazim: memaparkan setiap plot bagi setiap lajur (menghasilkan laporan 50 halaman yang tidak dibaca oleh sesiapa — pilih 5–10 yang paling penting), menyatakan fakta tanpa tafsiran ('umur mempunyai 177 nilai nol' — jadi apakah tindakan yang perlu diambil?), tidak menyegarkan laporan selepas pembersihan (bersihkan data, kemudian ulang pemprofilan untuk mengesahkan isu telah diselesaikan), dan mencampurkan kod pembersihan ke dalam analisis (asingkan pembersihan data daripada naratif EDA).
Semakan Pantas
Uji pemahaman anda tentang penulisan laporan EDA daripada pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini, anda mempelajari cara menyusun laporan EDA kepada enam bahagian (gambaran keseluruhan, kualiti, taburan, korelasi, pandangan subkumpulan, langkah seterusnya), menjana rajah ringkasan berbilang panel dan laporan markdown secara teratur melalui kod, serta menterjemahkan dapatan statistik kepada bahasa yang berkaitan dengan perniagaan. Seterusnya, kita akan meneroka teknik pengindeksan lanjutan — penciptaan MultiIndex dan pemilihan hierarki dalam Pandas.
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 “Merumuskan Dapatan dalam Laporan” percuma?
Ya — teks penuh “Merumuskan Dapatan dalam Laporan” 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 “Merumuskan Dapatan dalam Laporan”?
Himpunkan pandangan utama dalam ringkasan markdown berstruktur dengan rujukan visualisasi terbenam dan langkah seterusnya yang boleh diambil tindakan. 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 “Merumuskan Dapatan dalam Laporan” 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
- Senarai Semak Pemprofilan Set Data
- Analisis Univariate
- Analisis Bivariate dan Korelasi
- Merumuskan Dapatan dalam Laporan