模塊四 第一週 作業一 菜價分析

1 問題描述

複習矩陣相關操作,分析菜價

  • 將表中數據,使用 numpy 進行處理展示

在這裏插入圖片描述

在這裏插入圖片描述

  • 使用循環的方式 計算採購總額
  • 使用點乘計算採購總額
  • 測試性能

2 解題提示

  • 使用numpy 中的array進行表格與矩陣的轉化
  • 使用dot 來實現矩陣相乘
  • 通過jupyter的魔法命令來測試 性能

3 評分標準

作業共計四個要求,要求1,3各爲5分,要求2,4各爲10分。

4 要點解析

  • 矩陣點乘

矩陣相乘必須滿足矩陣A的列數與矩陣B的行數相等,列數與行數對應相乘,然後相加。

在這裏插入圖片描述

  • jupyter魔法命令

jupyter用來測試時間的魔法命令共計四種

  • %timeit 測試代碼的執行時間 【%timeit後邊只能跟一行代碼】
%timeit lis = [x for x in range(10000)]
  • %%timeit 測試代碼塊的執行時間
%%timrit
lis = []
for i in range(10000):
    lis.append(1)
  • %time 測試單次運行所需要的時間 【%time和%timeit都是測試時間,但是%time沒有%timeit準確】
%time lis = [x for x in range(10000)]
  • %%time 測試代碼塊的執行時間
%%time
lis = []
for i in range(10000):
	lis.append(i)

5 代碼實現

#%% md
## 作業一:
- 複習矩陣相關操作,並完成下題: 菜價
日期 白菜 土豆 冬瓜
2019/7/28 1.2 1.5 1.8
2019/7/29 1.3 1.4 1.9
2019/7/30 1.1 1.6 1.7
- 每天採購數量相等,分別如下
品名 數量
白菜 5
土豆 10
冬瓜 9
- 上面的數據,可以在numpy中表示如下 5分
X = np.array([[1.2, 1.5, 1.8],
 [1.3, 1.4, 1.9],
 [1.1, 1.6, 1.7]])
y = np.array([5, 10, 9]).T
- 要求
    - 1. 使用循環的方式計算每天的採購總金額 得到結果爲[37.2, 37.6, 36.8],分別表示7/28、7/29、7/30這三天採購總額 10分
    - 2. 使用矩陣點乘來計算每天的採購總金額(使用np.dot來實現矩陣相乘) 5分
    - 3. 測試兩種方式的性能 10分
#%%
# 導入模塊
import numpy as np
#%% md
#### 使用循環方法得到採購總額
#%%
# 定義for循環計算用的函數
def veg_sum(X,Y):
    # 定義日期列表
    date=['7/28','7/29','7/30']    
    # 定義起始值0
    vegsum=[] 
    sum = 0
    # 循環 
    for i in range(3):
        sum = 0
        for j in range(3):
            # 矩陣相乘 相加
            sum += (X[i,j] * Y[j])
        vegsum.append(sum)
    print(vegsum)
    for i in range(3):
        print('日期:',date[i],'金額:',vegsum[i])
    
#%%
X=np.array([[1.2,1.5,1.8],[1.3,1.4,1.9],[1.1,1.6,1.7]])
Y=np.array([[5,10,9]]).T
#%%
%timeit res = veg_sum(X,Y) 
#%%

#%% md
#### 使用矩陣點乘計算
#%%
def veg_sum_dot(X,Y):
    # 點乘
    vegsum=np.dot(X,Y)
    date=['7/28','7/29','7/30']
    for i in range(3):
        print('日期:',date[i],'金額:',vegsum[i])
#%%
X=np.array([[1.2,1.5,1.8],[1.3,1.4,1.9],[1.1,1.6,1.7]])
Y=np.array([5,10,9]).T
#%%
%time res=veg_sum_dot(X,Y) 
#%%
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章