Jupyter Notebook 整理提示詞(把探索時寫亂的筆記本整理成可復現的分析報告或可定時運行的腳本)

探索分析時寫了一個幾十個單元格、順序混亂、到處是臨時變量的 Notebook,現在要交給同事復現、做成報告或者改成每天自動運行時用:把 Notebook 內容給 AI,它理清真實的執行依賴,刪掉廢棄代碼,重組為「參數 → 數據 → 處理 → 結果」的結構,並輸出報告版或腳本版。

NNathaniel bigo··原創首發·AI 輔助撰寫
通用大模型 對話模型通用
你是一名注重可復現性的數據科學家。請幫我整理一個寫得很亂的 Jupyter Notebook。

- Notebook 內容(可以導出為 .py 或直接粘貼各單元格,保留單元格順序和執行編號):
  [Notebook 內容]
- 分析的目的與最終結論:[分析目的]
- 整理後的用途:[整理用途](可選:給同事復現的報告/每天定時運行的腳本/兩者都要)
- 運行環境:[運行環境](例:Python 3.12,本地讀取 CSV 與數據庫)

請按以下步驟:
1. 依賴梳理:根據執行編號和變量的定義與使用,找出真實的執行順序;標出「按當前順序從頭運行會出錯」的地方(例如變量在後面的單元格才定義、某個單元格被修改過但沒有重新運行)。
2. 清理:標出可以刪除的單元格(廢棄的嘗試、重複的查看、調試輸出),以及需要保留的探索過程(如果它支撐了結論)。
3. 重組結構:
   - 參數區:文件路徑、日期範圍、閾值等集中定義,不在代碼中寫死;
   - 數據讀取與校驗:讀取後檢查行數、關鍵字段的空值和取值範圍;
   - 處理步驟:把重複的代碼抽成函數,每一步加簡短說明;
   - 結果:圖表與關鍵數字,配上結論式的文字說明。
4. 可復現性:固定隨機種子;記錄依賴庫版本;數據來源與提取時間;避免依賴本機的絕對路徑。
5. 輸出:
   - 報告版:按上述結構整理後的 Notebook,文字單元格寫清每一步的目的和發現,適合「重啟內核並全部運行」後直接分享或導出;
   - 腳本版(如果需要):轉換為可以命令行運行的 Python 腳本,參數通過命令行或配置文件傳入,結果輸出到文件,並有日誌與錯誤處理;說明如何定時運行。
6. 檢查清單:整理後重啟內核從頭運行一遍、對比關鍵數字與原 Notebook 一致。

不要改變分析邏輯和結論;發現原分析中的錯誤時,單獨列出來讓我確認,而不是悄悄修改。

高亮處換成你自己的內容:[Notebook 內容]、[分析目的]、[整理用途]、[運行環境]

ChatGPT Plus 充值

已被複製 0 次

使用說明

怎麼填變量:[Notebook 內容] 最好保留每個單元格的執行編號(如 In [37]),AI 可以據此判斷你實際是按什麼順序運行的。Notebook 中如果有數據庫密碼或內部路徑,先替換掉再粘貼。

常見坑:

  • Notebook 裏的結果是「改了上面某個單元格、卻沒有重新運行下面的單元格」得到的,別人從頭運行時得到不同的數字。整理後一定要重啟內核全部運行一次。
  • 路徑寫成自己電腦上的絕對路徑,同事拿到就跑不起來。集中到參數區並使用相對路徑。
  • 整理時順手「優化」了分析邏輯,結論悄悄變了。邏輯改動要單獨確認。

追問技巧:追問「把這個腳本加上單元測試,至少測試數據清洗函數」,或「把報告版 Notebook 導出為 HTML,隱藏代碼只保留圖表和文字」。

示例輸出

示例,僅供參考(依賴梳理節選)
單元格(執行編號)問題
第 5 格(In [12])使用了變量 df_clean,但它在第 9 格(In [8])中定義,按當前順序從頭運行會報錯
第 14 格(In [41])閾值從 0.3 改成了 0.25,但第 15 到 18 格的執行編號更早,說明結果仍是基於舊閾值
第 20 到 26 格三種不同的圖表嘗試,只保留最終採用的第 26 格

重組後的結構:

python
# ── 參數 ──
DATA_PATH = "data/orders_2026q3.csv"
START, END = "2026-07-01", "2026-09-30"
CHURN_THRESHOLD = 0.25

# ── 讀取與校驗 ──
df = load_orders(DATA_PATH, START, END)
assert df["order_id"].is_unique, "訂單號存在重複"

同款作品

用這條提示詞做出來的作品;原作者會因此獲得積分

做同款

還沒有同款,來做第一個。

Nathaniel 的更多內容

同主題

同模型

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~