羅德興老師的教學歷程檔案 - 111-1 大數據分析方法 - 程式範例下載 |
|
|
程式範例下載1. "雙層 Loop 應用2" # loop2.py 2. # This is double loop by L.D.S on 2016/03/08 print ("雙層 Loop 應用 九九乘法表") 3. 猜數字遊戲 guess2.py 4. GUI 練習 # Getting input using Button 6. 如何顯示中文 # 1. 下載一個中文字型到 Colab #我們這裡以翰字鑄造的台北黑體為例, 這裡選了 regular 的版本。 import matplotlib as mpl import matplotlib.font_manager as fm !wget -O TaipeiSansTCBeta-Regular.ttf https://drive.google.com/uc?id=1eGAsTN1HBpJAkeVM57_C7ccp7hbgSz3_&export=download fm.fontManager.addfont('TaipeiSansTCBeta-Regular.ttf') mpl.rc('font', family='Taipei Sans TC Beta') 7. PART B: chp6.資料儲存與讀取1(txt,CSV、Excel、Google試算表) 範例6-3:讀取excel檔案score.xlsx,存檔score2.xlsx #範例 6-3:讀取excel檔案score.xlsx,存檔score2.xlsx #範例 11-3:讀取excel檔案score.xlsx,存檔score2.xlsx ''' About Dataframe 在Series內有個陣列,裡面放著三個城市,這樣的結構,就是完整的Series,夠簡單吧! 我們可以把不同的Series放在同一個DataFrame內,像是我們把資料放在dic中,把城市和人口的資料放入,組成一個新的table(Series)。 ''' import pandas as pd pd.__version__ # df = pd.read_excel('score.xlsx','score') df1 = pd.read_excel('/content/drive/MyDrive/CSV原始資料檔/score.xlsx','mad3a') print(df) ## code 1 ############################ #算出數學math的平均分數:mean:(two method) print(df['math']) print('avg of math =', df['math'].mean()) print('avg of math =', df.mean()['math']) print(df.mean()['math']) #排序 sorting print(df.sort_values(by='eng')) print(df.sort_values(by='eng', ascending=False)) print(df.head(3)) print(df.sort_values(by='eng', ascending=False).head(3)) #取得某一筆get one record print('取得某一筆get one record \n') print(df.iloc[3]) print('計算該筆 record 的平均 calculate MEAN \n') print(str(df.iloc[3,3:6].mean())) ''' 結果各個欄位的mean,而string這個欄位沒有輸出結果,因為字元無法計算 平均值! 匯總函式會自動過濾無法算出的值 axis=1 轉軸 求 row 的平均 ''' 8. 好玩的程式展示 (歡迎同學們依專業、興趣 提供) https://drive.google.com/drive/folders/1hqiPkOGM5H1ysq8p_d0MUaOXJ9pr3bcr?usp=sharing 8-1 先問自己:用途 再去發掘:Library 從 Yahoo! Finance下載股票價格資料 pandas_datareader yfinance 把數據匯出成圖表 plotly REF: https://pythonviz.com/colab-jupyter/google-colab-notebook-import-library-jupyter-visualize-stock-data/ 8-2 圖像識別 colab02b Cooper 真的是馬爾濟斯嗎.ipynb 99. chp3.數據資料視覺化2(Pandas模組) Ex. 3-9 範例3-9:印出四位學生的三科成績 [download] (可顯示中文圖表標題) # -*- coding: utf-8 -*- """ 註解:此為 Recursive 遞迴呼叫 by L.D.S on 2022/04/03 檔名:recursive3.py 功能:此程式為遞迴呼叫 & 非遞迴呼叫 (Iterative 迭代) 遞迴讓你直覺地表示特定模式經典題型:最大公因數 (GCD)、費波納契數列 (Fibonacci Sequence)、河內塔 (Hanoi Tower)、N 個字元的排列組合。# \t Tab 印出,\n 跳行 印出, end= "" 接續印出 """ import time def fact(n): if (n==1): result= 1 else: result = n*fact(n-1) print(" * " + str(n)) return result def sum_fact(n): total = i = 1 while(i<=n): total *= i print(" * " + str(i)) i+=1 return total n=int(input("請輸入一個數字:")) start = time.time() sum2 = fact(n) print(str(n) + " ! 階層 = " + str(sum2)) end = time.time() print("遞迴呼叫") print(end - start) start = time.time() total2= sum_fact(n) print("%d! 階層 =%d" % (n, total2)) end = time.time() print("非 遞迴呼叫") print(end - start) # -*- coding: utf-8 -*- """ 註解:此為 Recursive 遞迴呼叫 by L.D.S on 2022/04/03 檔名:recursive4.py 功能:此程式為遞迴呼叫 & 非遞迴呼叫 (Iterative 迭代) 遞迴讓你直覺地表示特定模式 經典題型:最大公因數 (GCD)、費波納契數列 (Fibonacci Sequence)、河內塔 (Hanoi Tower)、N 個字元的排列組合。 """ counter=0 def hanoi(n, A, B, C): global counter if n == 1: return [(A, C)] else: return hanoi(n-1, A, C, B) + hanoi(1, A, B, C) + hanoi(n-1, B, A, C) n = input("請輸入整數:") for move in hanoi(int(n), 'A', 'B', 'C'): counter +=1 print("盤由 %c 移至 %c" % move) print("共移動了 " + str(counter) + " 次 盤子") # -*- coding: utf-8 -*- """ 註解:此為 Recursive 非遞迴呼叫 by L.D.S on 2022/04/03 檔名:recursive5.py 功能:此程式為遞迴呼叫 & 非遞迴呼叫 (Iterative 迭代) 遞迴讓你直覺地表示特定模式 經典題型:最大公因數 (GCD)、費波納契數列 (Fibonacci Sequence)、河內塔 (Hanoi Tower)、N 個字元的排列組合。 非遞迴呼叫 (Iterative 迭代)方式 如果函式中只遞迴呼叫自身一次,使用堆疊來模擬遞迴過程的話,基本上需要一個堆疊, 單色河內塔遞迴解會在函式中,呼叫自身兩次,這需要兩個堆疊, 把自己當成電腦來思考的話,就得小心堆疊中狀態的儲存與取出順序,才能正確地解決問題,無疑地,這是個繁瑣的過程, """ counter=0 def hanoi(n, a, b, c): global counter param_stack_recursion2 = [[n, a, b, c]] while param_stack_recursion2: m, pa, pb, pc = param_stack_recursion2.pop() param_stack_recursion1 = [] while True: if m == 1: print("盤由 " + pa +" 搬到 "+ pc) # hanoi(1, A, B, C) counter+=1 # hanoi(m - 1, A, C, B) is completed leng = len(param_stack_recursion2) while param_stack_recursion1: m = m + 1 sa, sb, sc = param_stack_recursion1.pop() # hanoi(m - 1, B, A, C) param_stack_recursion2.insert(leng, [m - 1, sb, sa, sc]) if param_stack_recursion2: _, mb, ma, mc = param_stack_recursion2[-1] print("盤由 " + ma + " 搬到 " + mc) # move A to C counter+=1 break param_stack_recursion1.append([pa, pb, pc]) # hanoi(m - 1, A, C, B) m = m - 1 pa, pb, pc = pa, pc, pb k = input("請輸入整數:") hanoi(int(k), 'A', 'B', 'C') print("共移動了 " + str(counter) + " 次 盤子") Ex13-資料視覺化使用 YouBike 資料.ipynb https://colab.research.google.com/drive/1pSxSgfL3b0-DTeM0BieypKDQB-u5ZOPp?usp=share_link Ex 14 抓取 FoodPanda 資料 [LINK] https://colab.research.google.com/drive/1DlJh_DRG4Cz2lqJ6daMilHMGXrp0whvh?usp=share_link
|
|
中華科技大學數位化學習歷程 - 意見反應 |