零基礎程式小白使用 ChatGPT 統計捷運流量

ChatGPT 讓零基礎程式小白也能處理大數據,令人驚豔!

台北捷運前五大流量車站

過往,要處理大量的數據資料(是真的很大量的資料喔,不是 Excel 可以處理的等級),免不了要寫程式或請工程師幫你分析,經過這幾週的測試,我真的發現有了 ChatGPT 之後,即使零基礎的程式小白,都能自己處理大量數據,真的進入「人人皆工程師」的時代了!以下就是一個真實例子,完全不用寫任何程式碼,就能幫你處理大量資料。

想像你是一個行銷專家,想在捷運站下廣告推廣產品,在預算有限的考量下,當然希望選擇流量大的車站來下廣告,但你知道台北捷運站流量前五大的車站是哪些嗎?每一站一天有多少人進出?直接問 ChatGPT 能得到我們想要的答案嗎?二話不說,直接問我付費的 ChatGPT,它的回答是:

事實真的是這樣嗎?

第一步:ChatGPT 能看懂一個 CSV 資料檔嗎?

依我過去的經驗,越是有標準答案的問題 ChatGPT 的表現越差,即使是使用付費的 GPT4。其實在「台北市資料大平台」有公開每個月的捷運流量資料,你可以自行下載原始數據,經過統計後找到以上的答案。所以我再次借助 ChatGPT,看他是不是真的能聰明到產生正確的程式碼:

這是個測試性的問題,因為我很好奇 ChatGPT 在我沒有太多的提示下,是否真能看懂這個下載的檔案(CSV 是一種檔案格式,為純文字檔,但使用分隔符號,通常為逗號,來分隔出不同的欄位)?抓出我要的資料?以 2023年一月的下載資料來看,總共有 335.6MB(檔案還真不小),打開這個檔案,它的資料內容呈現如下:

(但因為資料量太大,我用 Mac Numbers 開啟時,Numbers 顯示 ” 資料共 9,204,652 列,Numbers 的表格無法支援超過 1,000,000 列”,所以以下我們都只抓 2023/1/1 這一天的資料來處理):

這個檔案以一個小時為時間單位,統計每個小時從 A 站進,B 站出的人數。即使身為人類的我們,可能都需要一點點的時間才能理解這個檔案的含意。ChatGPT 看得懂嗎?

這是 ChatGPT 帶給我的第一個驚豔:它竟然能正確無誤計算出 “不同時段 ‘松山機場進,台北車站出’ 的總人次為:10626 人次”!當然啦,雖然它能看懂這個表格,也做出了統計,但數字是正確的嗎?我也不是一開始就相信它,經過人工驗證過,它統計出來的數字真的是正確的!在無任何提示下產生出來的程式碼,就能一行不改的抓出我要的統計數字,真的是很厲害!

第二步:統計各站進出人數

有了這樣的經驗後,我當然讓它挑戰更難的問題啦!這次我直接問它:

ChatGPT 先是提醒我要安裝 “pandas 套件”(我使用 Python 程式語言,Python 有很多套件,可以節省很多自己開發的時間,這也是 Python 現在很火紅的原因),這次的程式再次沒讓我失望,跑出以下的結果(我沒有安裝任何額外的軟體,直接使用 Python 官網的 IDLE):

真的把每個站的進站人數和出站人數統計出來了,只是格式有點醜……。(我後來請它生成數據對齊的程式碼,但試了兩次雖然略有改善,但效果不彰我就放棄了,所以 ChatGPT 也不是那麼天下無敵的,哈~)

第三步:讓它自動去網路上抓資料計算

上面兩步基本上已經達成我要的目的,可以算出各捷運站的流量,但如果我要再更懶一點,連檔案下載都不做,讓它自己去公開資料平台抓資料呢?(因網址過長,ChatGPT 對一大串文字的顯示還是有點小問題,會跑出視窗外,所以我就不抓圖了)我問了 ChatGPT 以下的問題:

請改在 http://tcgmetro.blob.core.windows.net/stationod/%E8%87%BA%E5%8C%97%E6%8D%B7%E9%81%8B%E6%AF%8F%E6%97%A5%E5%88%86%E6%99%82%E5%90%84%E7%AB%99OD%E6%B5%81%E9%87%8F%E7%B5%B1%E8%A8%88%E8%B3%87%E6%96%99_202301.csv 這個網站,下載 “臺北捷運每日分時各站OD流量統計資料_202301” 的資料,即:2023 年 1 月的資料,並計算在 2023-01-01 這天各個車站 “進站” 和 “出站” 人數,每個車站一行,顯示格式:站名 進站人數 出站人數 最後顯示:進站人數最多的車站是?出站人數最多的車站是?台北捷運共有幾個車站?

因為這個資料檔案本身就不小,所以程式跑了好一會才出現結果,答案一樣正確!最後我就直接問它我們想知道的問題:「台北捷運 “進站人數+出站人數” 最多的前五大車站依序是?」結果是:

  • 台北車站:253437
  • 西門:142371
  • 市政府:99511
  • 中山:86717
  • BL板橋:83182

這符合你的想像嗎?是不是跟上面直接問 ChatGPT 的答案差很多?(當然啦,也可能是我只抓一天數據的關係)

結論

最近不斷的再跟 ChatGPT 培養感情,建立默契(測試它的極限),它的表現每每讓我驚豔。在這個例子中,我完全沒有寫任何一行程式碼,就跑出我想要的數據(對零基礎的程式小白而言,唯一要懂的是如何安裝 Python IDLE 和一些套件)。這再次驗證我的看法:人不會被 AI 所取代,而是被懂 AI 的人所取代

因此未來大量的簡單程式被 AI 取代絕對是可預期的,那為什麼我還是一直鼓勵大家要學程式呢?因為程式語言是我們人類跟電腦溝通的媒介,你掌握了它,就能直接跟電腦溝通讓電腦幫你做事。現在很多工具扮演這個中間溝通者的角色,就像翻譯一樣,但如果你能自己溝通,就更直接、更能客製化自己的需求(喊多軟體應該也沒辦法 100% 滿足你的需要吧?),以前如果你沒有程式設計的能力,你就必需靠工程師來協助,但現在有了 ChatGPT 這些 AI 工具之後,你就更容易可以透過它們直接來跟電腦溝通了。

就像建築師,他不用自己去打地基、蓋房子,但也必須了解一些工程結構、材料使用的專業知識,才知道自己偉大設計是否可行。同樣的,如果你具備一些程式基礎,就更知道程式的極限,也更知道怎麼把一個大問題拆解成很多小問題交給 AI 處理。這是為什麼有了 ChatGPT 之後,我更鼓勵每個人都要學程式的原因,因為會不會善用 AI 工具幫你做事,將直接決定你的競爭力!

所以我說:ChatGPT+程式能力,真的可以讓零基礎程式小白的你,可以 “號令天下,莫敢不從” 啊!

延伸閱讀:2023 年有了 ChatGPT,為什麼還要學程式設計?


探索更多來自 CodingBar 專欄文章 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading