用於資料科學的 Python – 實戰練習
從這 4.5 小時的課程,你會學到
- 從頭開始的 Python 程式語言
- 透過即時練習獲得實務經驗
- Python 資料型別 – 列表、元組、集合、字典
- 理解Python中程式的概念
- 編寫並使用 Python 函數
- 各種功能 – 範圍、輸入、映射、過濾、分割、枚舉、壓縮、解壓縮、Def、Lambda
- Python 中的迴圈 – For 迴圈、While 迴圈等
- Python 中的索引、切片、資料型別轉換
- 你可以下載各講座影片和原始碼檔案
要求
- 無需程式設計經驗。你將從頭開始學習一切
- 你可以使用其中任何一種 – Jupyter Notebook 或 PyCharm 或 Google Colab 等。
課程說明
在本課程中,您將透過 Jupyter Notebook 中的實踐編碼練習踏上 Python 程式語言世界的旅程,這些練習以極其易於理解的方式呈現。
首先,我們將引導您完成 Jupyter Notebook 環境的安裝和初始使用,為沉浸式學習體驗奠定基礎。
隨後,我們將深入研究Python編程的各個基本主題。
讓我們來看看一些理論部分(影片講座中未涵蓋)。
介紹 –
Python 是一種高階程式語言,它使用指令來教導電腦如何執行任務。 Python 是一種易於學習、功能強大的程式語言。
更接近人類語言(如英語)的語言稱為高階語言。
Python 提供了一種簡單的物件導向程式設計方法。
物件導向是一種用來編寫程式的方法。
Python是一種免費且開源的語言,也就是我們可以閱讀、修改和分發Python腳本的原始碼。
它由 Guido van Rossum 開發並於 1991 年發布。
Python 在各領域都有其應用。 Python 用於創建 Web 應用程式、用於遊戲開發、創建桌面應用程式、用於機器學習和資料科學。
Python 是如何運作的? –
我們用Python語言來寫指令。
Python是一種解釋性語言,因此不需要編譯它。
Python程式直接透過原始碼運行(執行)。將原始碼轉換為中間字節碼,然後透過Python解釋器在內部將字節碼轉換為電腦的本機語言(即機器語言)。代碼被執行並顯示輸出。
Python 原始碼 > 中間字節碼 > 機器語言 > 執行的程式碼
什麼是程式? –
程式是一組告訴電腦執行特定任務的指令。程式語言是用於創建程式的語言。
例如。當我們單擊媒體播放器上的“播放”按鈕時,有一個程式在後台運行,告訴電腦打開音樂。
內建函數是預先定義的並且可以直接使用的函數。例如。列印()
註解是被 python 解譯器忽略的程式碼片段。註釋用於使原始程式碼更容易被其他人理解。 Python 支援單行註釋,這意味著它們只能覆蓋一行。
本課程影片講座中透過範例解釋的各種主題如下 –
1. VARIABLES
a = 2 , b = 1.2 , c = ‘Ram’, d = lambda (‘any function’)
# Variables (變數)用於儲存值。變數中儲存的值可以稍後在程式中使用。我們可以透過引用變數名稱來檢索它們。
2. PYTHON 的 DATATYPES
Integer (int), Float , String (str) , List , Tuple , Set , Dictionary
3. String – String 是一系列字符,用單引號或雙引號括起來。例如 “Hello”, ‘Hello999’, ‘999’.
4. LIST
[ int /float / str ] à A = [ 1 , 2 , 3.4 , 3.4, ‘a’ , ‘bcd’ ]à 資料類型的集合,Mutable:值可以更改,Ordered:值順序將保持原樣,可改變的,允許重複值。
5. TUPLE
( int / float / str ) à B = (1 , 2 , 3.4 , 3.4 , ‘a’ , ‘bcd’ )
àImmutable : 無法更改的數值 , Ordered : 值的順序將保持原樣, 不可改變的, 異質數據, 允許重複值.
6. SET
{ int / float / str } à C = { 1 , 2 , 3.4 , 5.6 , ‘a’ , ‘bcd’ }
à值無法更改,但可以添加新值,Unordered:值順序可能會更改,按升序排列項目,不允許重複值,未索引。
7. DICTIONARY
{ Key : Value } à D = { K1 : 1 , K2 : 2 , K3 : 3.4 , K4 : 5.6 , K5 : ‘ab’ , K6 : ‘bcd’ }
à Mutable(可變的) , Unordered(無順序的) , 不允許重複的鍵,索引,鍵必須是唯一的且不可變的。
8. CONCATENATION – Combining Strings
first = ‘Data’
last = “Science”
new = first + ‘ ’ + last + ‘ 是組合字串’
9. “\n” – For next new line
print(“My Name is”, “\n” , “My city is “, “\n” ,”My country is”)
print(‘Delhi’) , print(‘’) , print(‘Noida’) # 在兩個字串之間建立一行的間隙。
10. LIST FUNCTONS
< 輸入清單名稱(此處為 A)後按鍵盤上的「Tab」按鈕以顯示可用功能>
A.append(55) – 在列表末尾新增值。
A.clear( ) – 在 lis 末尾新增值
B = A.copy( ) – 建立列表的副本。
A.count(5) – 計算某個值出現的次數。
A.extend(c) – 在現有清單中新增清單。
A.index(7) – 顯示值的索引> # A.index(value, start_index, stop_index)
A.insert(3,66) – 在給定位置插入新值。
A.pop(3) – 藉助索引刪除值。 # A.pop( )
A.remove( 55) – 從清單中刪除一個值。
A.reverse( ) – 反轉清單。
A.sort( ) – 對清單進行排序。 # A.sort(reverse=True)
del A[ 1 : 4 ] – 從清單中刪除一些項目。
type(A) – 要看類型。
List Concatenation – A = [1,2,3,4] , B = [5,6,7,8] ; C = A+B = [1,2,3,4,5,6,7,8]
11. TUPLE FUNCTONS
T.count(5) – 計算某個值出現的次數。
T.index(7) – 顯示值的索引。
12. SET FUNCTONS
S.add(5) – 在集合中新增值 5。
S.clear() – 清除集合中的所有元素。
S.copy() – 複製一組。
S1.difference(S2) – S1-S2 – 它僅顯示集合 S1 的元素。
S1.difference_update(S2) –它從 set1 中刪除所有公共元素。
S.discard(x) – 它將從集合中刪除一個元素(x)。如果x不在集合中,則不會顯示錯誤。
S.remove(x) – 它將從集合中刪除一個元素(x)。如果 x 不在集合中,則會顯示錯誤。
S.pop() – 它刪除集合的第一個/隨機元素。
S1.Union(S2) – Set1 | Set2 – 它顯示了 set1 和 set 2 的所有元素。
S1.Intersection(S2) – Set1 & Set2 – 它顯示了 set1 和 set2 的共同元素。
S1.Intersection_update(S2) – 現在集合 S1 將僅包含公共元素。
S1.isdisjoint(S2) –如果 S1 和 S2 沒有任何公共值,則傳回 True,否則傳回 False。
S1.issubset(S2) – 如果 S1 的所有元素都在集合 S2 中,則傳回 True。
S2.issuperset(S1) – 如果 S1 的所有元素都在集合 S2 中,則傳回 True,否則傳回 False。
len(S) –它顯示沒有。集合中的獨特元素。
S1.symmetric_difference(S2) – S1^S2 – 顯示 S1 和 S2 中的非公共元素。
S1.symmetric_difference_update(S2) – 現在集合 S1 將僅包含非公共元素。
S1.update([4,5,6]) – 新增多個項目, in list/tuple/set form.
13. DICTIONARY FUNCTONS
D.clear( ) – 刪除 dictionary(字典)。
E = D.copy( ) – 拷貝一 dictionary.
D.get(‘K1’) – 根據字典中的鍵(key)取得值。如果該鍵不在字典中,它將顯示 None,而不顯示任何錯誤。
D.items( ) – 顯示字典的所有項目。
D.keys( ) – 顯示字典的所有按鍵。
D.values( ) – 顯示字典的所有值。
D.pop(‘K1’) – 刪除鍵 (key)及其索引(index)。
D.popitem( ) – 刪除最後一個有值的鍵。
D.setdefault(‘K3’) , D.setdefault(‘K4’, value), D[‘K4’] = value – 在字典末尾添加一個鍵。
D.update(‘E’) – 在現有字典中新增字典。
D.fromkeys(A) – 檢查字典中是否存在任何元素(鍵)
“Key” in D – 檢查字典中是否存在任何元素(鍵)
14. DATATYPE CASTING
將一種資料型別轉換為另一種資料型別。
int (1) =>1 – 將 int 轉換為 int (整數)
int (3.2) => 3 – 將 float (浮點數) 轉換為 int
int (‘5’) => 5 – 將數字字串轉換為 int
int (‘a’) => error – 無法將字母字串轉換為 int
float (3.2) => 3.2 – 將 floa 轉換為 float
float (6) => 6.0 – 將 int 轉換為 float
float (“10”) => 10.0 – 將數字字串轉換為 float
float (‘b’) => error – 無法將字母字串轉換為 float (浮點數)
Str (‘a’) => ‘a’ – 將 string (字串)轉換為字串
str (1) => ‘1’ – 將 int 轉換為字串
str (3.2) => ‘3.2’ – 將 float (浮點數)轉換為字串
15. RANGE – 它創建一個連續的數字列表。
range(start value, stop value, step value) , range(0,50,1) , range(1, 50) , range(50)
16. FUNCTION – 函數是一段程式碼,被定義為執行某些任務。我們呼叫一個函數來在需要時運行它。
Parameters:在定義函數時給定。 Ex : def func(a,b)
Arguments : 在呼叫函數時給出。 Ex : func(2,3)
def fun_name ( args / parameters ) : 多線性敘述,
def fun_name ( var1, var2 ) : 多線性敘述
def new ( 2 , 3 ) : c = a + b , return c
If the number of arguments to be passed is not fixed…then we use the Arbitrary Arguments (with *args)
Ex : def func(*values) : for i in values print(i) # 它可以採用任意數量的參數。
Keyword Arguments : 我們也可用 key 傳送 args =value syntax.
Ex : def new(b,a,c): print(“The winner is ” , a)
new(a= ‘Ram’, b= ‘Sham’, c= ‘Shiva’) ….. O/p will be : The winner is Ram
17. LAMBDA FUNCTION à 它是一個單線性函數
fun_name = lambda parameters : 單一線性敘述
Ex : sum = lambda a , b : a + b
18. INPUT FUNCTION – 它接受輸入並將其保存到變數中。
Ex 1 : a = input ( ‘Enter your name’ ) ,
Ex 2 : print ( ‘Enter your name’ )
x = input ( )
19. INDEXING – list.index( item ) , list [index value] , list [ start : stop : step ]
A.index(25) , A[1] , A [ 1 : 20 : 2 ] , A [ : 4 ] , A[ 2 : ] , A [ : ]
Negative Indexing – A[-1] , A [ 8 : 0 : -1 ] , A [ : : -1 ]
String Indexing – A.index( ‘r’ ) , A[ : 16 ]
Nested List – List in a list
Ex : A = [ [1,2,3] , 4 , 5 , 6 , [ 7,8,9] ]
20. FOR LOOP – for val in sequence : body of for loop,
Ex 1 : for x in [1,2,3,4,5] : print (x) ,
Ex 2 : for i in ‘banana’ : print (i)
BREAK STATEMENT (For Loop) – 在給定條件下停止 loop (迴圈)
1) for val in sequence : body of for loop if val == ‘seq_value’ , break
Ex : for x in [1,2,3,4,5,6,7] :
print (x)
if x == 5
break
2) for val in sequence : if val == ‘seq_value’ break , print(val)
Ex : for x in [1,2,3,4,5,6,7] :
if x == 5
break
print(x)
CONTINUE STATEMENT (For Loop) – 跳過迭代
1) for x in [1,2,3,4,5] :
if x == 4
continue
print(x)
2) for x in [1,2,3,4,5] :
print (x)
if x == 4
continue
BREAK & CONTINUE STATEMENT (For Loop) –
Ex : for x in [1,2,3,4,5,6,7]:
if x == 5 :
continue
if x == 6:
break
print(x)
RANGE FUNCTION –
for x in range (6):
print (x)
ELSE IN FOR LOOP –
1) for x in range(6):
print (x)
else :
print (‘loop is finished’)
2) for x in range(0,6):
print (x)
if x == 4 :
break
else :
print(‘loop is finished’)
PASS STATEMENT – 傳遞到下一個命令
1) for x in [1,2,3,4,5,6,7]:
Pass
2) for x in [1,2,3,4,5,6,7]:
if x == 3:
pass
print (x)
21. WHILE LOOP – 只要某個條件為真,while 迴圈就會重複一段程式碼。
1) i = 0
while i < 6 :
print (i)
i = i +1
2) i = 0
while i < 6 :
i = i +1
print (i)
BREAK STATEMENT (While Loop) –
1) i = 0
while i < 6 :
print (i)
if i == 4 :
break
i = i +1
2) i = 0
while i < 6 :
if i == 4 :
break
print (i)
i = i + 1
CONTINUE STATEMENT (While Loop) –
1) i = 0
while i < 6 :
i = i +1
if i == 3 :
continue
print (i)
2) i = 0
while i < 6 :
if i == 3 :
continue
print (i)
i = i +1
3)i = 0
while i < 6 :
if i == 3:
continue
i = i + 1
print (i)
ELSE IN WHILE LOOP –
1) i = 0
while i < 6 :
print (i)
i = i+1
else:
print (‘condition ends’)
BREAK & CONTINUE STATEMENT (While Loop) –
i = 0
while i < 10 :
i = i + 1
if i = = 3:
continue
if i = = 9 :
break
print (i)
22. SPLIT FUNCTION
它將字串拆分為列表。
Syntax : string.split ( separator , maxsplit )
23. MAP FUNCTION
它獲取列表中的所有項目並對其應用函數。
Syntax : map( function, iterables ) or map( condition, values )
Ex : list ( map ( lambda x : x+1 , [1,2,3,4,5] ) )
24. FILTER FUNCTION
它獲取列表中的所有項目並向其應用函數並返回新的過濾列表。
Syntax : filter( function, sequence )
Ex : list ( filter ( lambda x : x%2 != 0 , [1,2,3,4,5,6] ) )
25. ENUMERATE FUNCTION
它用於顯示帶索引的輸出。我們可以枚舉為列表、元組、集合、字典。
Syntax : enumerate( list )
Ex : list ( enumerate (‘apple’ , ‘mango’ , ‘orange’) )
26. ZIP FUNCTION
它用於將不同的迭代器(列表)壓縮為一個。
Syntax : z = zip(list1, list2, list3)
z = list(z) , print(z)
Example : A = [1,2,3] , B = [‘Ram’ , ‘Sham’ , ‘Shiva’] , C = [‘Delhi’, ‘Noida’, ‘Agra’]
z = zip(A, B, C) , z = list(z) , print(z)
27. UNZIP FUNCTION
Syntax : list1, list2, list3 = zip(*z)
Ex : A, B, C = zip(*z)
踏上這段豐富的旅程,釋放 Python 程式設計在各種應用程式中的巨大潛力。
目標受眾
- 對資料科學感到好奇的初級 Python 開發人員
講師簡介
Data Science Lovers 資深資料分析師
大家好,我是資深資料分析師。
我曾使用 Python 參與各種數據分析專案。
我嘗試以非常簡單的方式解釋所有概念,以便即使初學者也能毫無疑問地理解和學習。
繼續和我們一起學習,你會喜歡我們的講座。
太感謝了
字幕:英文
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- Udemy 永久擁有課程 許多課程約 NT400(點擊連結看更多)
- ✨年訂閱每月 NT350(再享特別優惠:年度訂閱首年享 25% 折扣) 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- Python 程式設計學習地圖
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
- 從 Soft & Share 各種社團頻道挑選你喜歡的加入
發表迴響