Kadin Chung
鍾榮達
Kadin Chung 鍾榮達
Aug 02 2024
Python 爬蟲實戰範例
用 Python 解析台灣學生留學數據分析
Python 爬蟲實戰範例:用 Python 解析台灣學生留學數據分析
本文摘要自「Python 網路爬蟲大師班」
目錄
- 前言
- 爬蟲準備:抓取數據
- 抓取數據:程式碼說明
- 數據視覺化(顯示指定年度的各國總人數長條圖)
- 數據視覺化:程式碼說明
- 數據視覺化(各洲別歷年學生人數趨勢圖)
- 程式碼說明
- 根據年度數據生成長條圖並儲存至 Excel 工作表
- 程式碼說明
- 結語
- 參考資料
- 相關課程
前言
在全球化的今天,越來越多的台灣學生選擇到國外留學,這不僅讓他們擴展了國際視野,也提升了他們的競爭力。了解台灣學生選擇去哪些主要留學國家,可以幫助學生和家長做出更明智的留學決定。在這篇文章中,我們將以「世界各主要國家之我國留學生人數統計」為主題,通過 Python 來分析和視覺化這些數據,揭示留學趨勢背後的一些有趣現象。
我們會利用台灣政府資料開放平臺上的數據,展示如何用 Python 進行數據的下載、整理和分析。這不僅是對爬蟲技術和數據分析的一次實踐,也是學習如何用 Python 處理和展示資料的好機會。希望通過這篇文章,大家能夠掌握基本的數據處理和分析方法,並能將這些技巧應用到其他類似的數據分析工作中。
本文中 Python 實戰範完整程式碼可以直接在這邊下載
🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~
我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊
爬蟲準備
在開始數據分析之前,我們需要進行一些爬蟲準備工作。首先,我們將從台灣政府資料開放平臺抓取各年度「世界各主要國家之我國留學生人數統計」資料。這些數據是我們分析的基礎,所以在抓取數據後,我們會進行基本的資料處理,以確保數據的完整性和準確性。
以下是使用 Python 來下載和處理這些資料的範例程式碼:
import pandas as pd
# 設定下載連結
url = 'https://ws.moe.edu.tw/Download.ashx?u=C099358C81D4876CC7586B178A6BD6D5062C39FB76BDE7ECCE014BC37E462658D42994BC906AEAF35D3BA49773E22DD56A78B36F4E483AD4B6CF048459964C26F44499E8B0E6A0EBEEC23EE22CFAF0E1&n=8FFFF71B2783273EC19E72B0E5678929C3D133B222DF6EFC4571983A83AF81B29FE24B66B393256449FBDF4173A19600791B547260760ADD8484609ED5321B6599D8316DE07A5CC0&icon=..csv'
# 讀取資料
data = pd.read_csv(url, encoding='big5')
# 清理 '總人數' 欄位數據
data['總人數'] = data['總人數'].str.replace(',', '').astype(int)
# 儲存處理後的資料
local_filename = 'study_abroad_statistics.csv'
data.to_csv(local_filename, index=False, encoding='big5')
print(f"處理後的資料已儲存為 {local_filename}")
data
🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~
我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊
程式碼說明
1. 讀取資料: 使用 pandas 的 read_csv 從指定的 URL 讀取 CSV 資料,編碼為 big5。
2. 清理數據: 將 總人數 欄位中的逗號去除,並轉換為整數型態。
3. 儲存處理後的資料: 將處理過的資料儲存為 study_abroad_statistics.csv,並以 big5編碼保存。
4. 顯示成功消息: 輸出一條消息,指示處理後的資料已成功儲存。
資料展示: 以下是從下載的資料中提取的部分內容
數據視覺化(顯示指定年度的各國總人數長條圖)
在分析台灣學生赴主要國家留學的數據時,我們需要將數據以圖形化的方式呈現,以便更直觀地了解趨勢和分佈。以下是使用 Plotly 庫來顯示每年度各國留學生人數的長條圖的範例程式碼。
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import plotly.io as pio
import pandas as pd
# 設定 Plotly 的全域主題為 dark
pio.templates.default = "plotly_dark"
def plot_yearly_data(file_path, year):
"""
根據指定的年度顯示長條圖,顯示該年度每個國家的總人數。
:param file_path: CSV 檔案的路徑
:param year: 要顯示的年度
"""
# 讀取 CSV 檔案並處理數據
data = pd.read_csv(file_path, encoding='big5')
# 過濾出指定年度的數據
yearly_data = data[data['年度'] == year]
# 繪製長條圖
fig = go.Figure()
fig.add_trace(
go.Bar(
x=yearly_data['國別'],
y=yearly_data['總人數'],
name=f'{year} 年度',
marker_color='skyblue'
)
)
# 更新佈局
fig.update_layout(
title=f'{year} 年度 各國總人數',
xaxis_title='國別',
yaxis_title='總人數',
xaxis_tickangle=-45
)
# 顯示圖表
fig.show()
# 使用範例
file_path = 'study_abroad_statistics.csv'
plot_yearly_data(file_path, 105) # 例如顯示 105 年度的數據
🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~
我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊
程式碼說明
- 設定 Plotly 主題 設定 Plotly 的全域主題為 “plotly_dark”,以便圖表具有暗色背景。
- 定義 plot_yearly_data 函數
- 參數
- file_path: CSV 檔案的路徑。
- year: 要顯示的年度。
- 讀取數據:使用 pandas 讀取 CSV 檔案
- 過濾數據:根據指定年度過濾數據。
- 繪製長條圖:使用 go.Bar繪製長條圖,設定顏色、標籤和圖例。
- 更新佈局:更新圖表的標題、X 軸和 Y 軸標題,並設置 X 軸標籤的角度以便更好地顯示。
- 顯示圖表:使用 fig.show()顯示圖表。
- 參數
- 使用範例
- 提供了顯示 105 年度數據的範例。如果需要顯示其他年度的數據,只需修改 plot_yearly_data 函數中的 year 參數即可。
🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~
我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊
數據視覺化(各洲別歷年學生人數趨勢圖)
在這個圖表中,我們可以觀察到不同洲別學生人數隨年度變化的趨勢。通過按洲別和年度進行數據加總,我們能夠清晰地了解每個洲別學生人數的增減情況。這有助於分析不同洲別的留學生流動趨勢,從而對未來的教育政策和留學規劃提供有價值的見解。
import pandas as pd
import plotly.graph_objects as go
def plot_continent_trend(file_path):
"""
根據洲別顯示不同年度的人數趨勢圖,每個洲別的數據在年度內先進行加總。
:param file_path: CSV 檔案的路徑
"""
# 讀取 CSV 檔案並處理數據
data = pd.read_csv(local_filename, encoding='big5')
# 按洲別和年度加總總人數
continent_yearly_totals = data.groupby(['洲別', '年度'])['總人數'].sum().reset_index()
# 獲取所有洲別
continents = continent_yearly_totals['洲別'].unique()
# 繪製折線圖
fig = go.Figure()
for continent in continents:
# 過濾出特定洲別的數據
continent_data = continent_yearly_totals[continent_yearly_totals['洲別'] == continent]
fig.add_trace(
go.Scatter(
x=continent_data['年度'],
y=continent_data['總人數'],
mode='lines+markers',
name=continent
)
)
# 更新佈局
fig.update_layout(
title='各洲別歷年人數趨勢圖',
xaxis_title='年度',
yaxis_title='總人數',
xaxis=dict(type='category'),
yaxis=dict(tickformat=',')
)
# 顯示圖表
fig.show()
# 使用範例
file_path = 'study_abroad_statistics.csv'
plot_continent_trend(file_path)
🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~
我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊
程式碼說明
- 讀取數據:使用 pd.read_csv讀取指定路徑的 CSV 檔案,並以 big5 編碼進行解碼。
- 數據處理:使用 groupby方法按 洲別 和 年度 分組,並計算每個分組的 總人數 總和。結果重設索引並存儲在 continent_yearly_totals變數中。
- 繪製折線圖:
- 創建一個 go.Figure()物件。
- 所有洲別跑回圈,過濾出每個洲別的數據,並添加到圖表中作為折線圖(go.Scatter)。
- 每條折線圖代表一個洲別的歷年人數趨勢。
- 更新圖表佈局:
- 設定圖表標題、X 軸和 Y 軸標題。
- 設定 X 軸為類別型,Y 軸顯示格式為千位分隔符。
- 顯示圖表:使用 fig.show()顯示圖表。
這段程式碼會生成一個顯示不同洲別歷年人數趨勢的折線圖,幫助觀察各洲別學生人數的變化趨勢。
🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~
我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊
根據年度數據生成長條圖並儲存至 Excel 工作表
這段程式碼的目的是根據指定的年度從 CSV 檔案中讀取數據,為每個年度生成長條圖,並將數據與圖表儲存到 Excel 工作表中。每個年度的數據和圖表會被寫入到對應的工作表中,圖表會顯示在每個工作表的指定位置。程式碼涵蓋了數據讀取、圖表生成、以及將圖表和數據寫入 Excel 的完整流程。
import pandas as pd
import plotly.graph_objects as go
import plotly.io as pio
import xlwings as xw
import os
# 設定資料和圖表儲存的路徑
data_file_path = 'study_abroad_statistics.csv'
excel_file_path = 'students_data_and_charts.xlsx'
image_folder = os.path.abspath('charts_images')
# 創建存放圖表圖片的資料夾
os.makedirs(image_folder, exist_ok=True)
# 讀取資料
data = pd.read_csv(data_file_path, encoding='big5')
# 創建 Excel 文件
wb = xw.Book() # 創建新的 Excel 工作簿
def plot_yearly_data(year):
"""
根據指定的年度顯示長條圖,並將其儲存為圖片。
:param year: 要顯示的年度
:return: 圖片檔案名稱
"""
yearly_data = data[data['年度'] == year]
# 設定 Plotly 的全域主題為 dark
pio.templates.default = "plotly_dark"
fig = go.Figure()
fig.add_trace(
go.Bar(
x=yearly_data['國別'],
y=yearly_data['總人數'],
name=f'{year} 年度',
marker_color='skyblue'
)
)
fig.update_layout(
title=f'{year} 年度 各國總人數',
xaxis_title='國別',
yaxis_title='總人數',
xaxis_tickangle=-45
)
# 儲存圖表為圖片
image_filename = os.path.join(image_folder, f'year_{year}_chart.png')
fig.write_image(image_filename)
return image_filename
# 透過迴圈跑各年度並儲存資料和圖表
for year in range(105, 113): # 105 年度到 112 年度
# 創建新工作表
sheet = wb.sheets.add(name=str(year))
# 過濾出指定年度的數據
yearly_data = data[data['年度'] == year]
# 將數據寫入工作表
sheet.range('A1').options(index=False, header=True).value = yearly_data
# 繪製和儲存圖表
image_filename = plot_yearly_data(year)
# 確保圖片檔案存在
if os.path.exists(image_filename):
# 插入圖表到工作表
sheet.pictures.add(image_filename, left=sheet.range('G3').left, top=sheet.range('G3').top, width=600, height=400)
print(f"已將 {year} 年度的資料和圖表儲存到工作表")
else:
print(f"圖片檔案 {image_filename} 不存在")
# 儲存 Excel 文件
wb.save(excel_file_path)
wb.close()
print(f"所有資料和圖表已儲存為 {excel_file_path}")
🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~
我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊
程式碼說明
- 導入所需套件:使用 pandas處理數據,plotly 創建圖表,xlwings操作 Excel,os 處理路徑和資料夾。
- 設定資料和圖表儲存的路徑:定義 CSV 檔案、Excel 檔案以及圖表圖片儲存的資料夾路徑。
- 創建存放圖表圖片的資料夾:確保圖表圖片儲存的資料夾存在,如不存在則創建。
- 讀取資料:從指定的 CSV 檔案讀取數據,處理中文字符編碼為 big5。
- 創建 Excel 文件:創建一個新的 Excel 工作簿,用於儲存數據和圖表。
- 定義生成圖表的函數 plot_yearly_data:根據年度過濾數據,使用 plotly 生成長條圖並儲存為 PNG 圖片,並返回圖片檔案名稱。
- 各年度跑回圈並儲存資料和圖表:為每個年度創建新的工作表,將數據寫入工作表,生成並儲存圖表,然後將圖表插入到對應的工作表中。
- 儲存 Excel 文件:將所有工作表和圖表儲存到指定的 Excel 文件中,並關閉工作簿。
這樣,就可以自動製作 Excel 文件,其中包含了每個年度的數據和對應的長條圖。圖表將顯示在每個工作表的指定位置,以便進行進一步分析和展示。
🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~
我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊
結論
在這篇文章中,我們不僅分析了台灣學生赴主要留學國家的數據,還展示了如何利用 Python 和 Plotly 工具進行資料清理、分析和視覺化。
以下是我們 Python 教學重點:
- Python 數據處理與分析:透過 pandas 和 plotly 庫,我們有效地清理和分析了資料。這些工具幫助我們從繁雜的數據中提取出有價值的見解,並生成了清晰的視覺化圖表。
- 資料視覺化技巧:我們使用了 plotly 的視覺化圖形來展示留學人數的分布與趨勢。這些視覺化方法讓我們能夠直觀地理解數據,並發現年度變化和國別比例。
- Excel 數據報告自動化:利用 xlwings,我們將分析結果和圖表自動化地儲存到 Excel 文件中。這不僅提高了工作效率,也使得數據報告更加整潔與專業。
🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~
我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊
參考資料
- 台灣政府資料開放平臺:提供各種公共數據,旨在促進資料開放與共享。 政府資料開放平臺
- Python 官方文檔:了解Python的基本功能和用法。 Python官方網站
- Plotly 官方文檔:提供關於Plotly的詳細資料和使用指南,用於資料視覺化。 Plotly官方網站
- xlwings 官方文檔:提供有關xlwings的使用說明,幫助將資料和圖表存入Excel。 xlwings官方網站
🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~
我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊
正在尋找網路爬蟲線上課程?
Kadin Chung 鍾榮達
- 目前在公司負責系統分析與程式設計,同時也在做線上課程講師。 碩士畢業之後在外商系統整合服務公司上班多年,到自己設立軟體公司,第一個合作售出的系統是一套網路管理系統,可以幫助客戶配置,維護和測試數千台思科網路設備。 除此之外,Kadin在大型項目方面經驗豐富,例如馬拉松線上報名系統,車行租賃管理系統等。 在Kadin創業的過程中不斷地促使自己學習新的技能,並且知道什麼是「學習新技能」最有效的方法,他樂於分享一切所學的知識和實務經驗,也因為這份樂情,帶領 Kadin 來到 MasterTalks ,他將會透過高品質且有效率的方式分享他所學的一切技術和知識!