我的數據庫如圖
結構
我取了其中的name age nr,做成array,只要所取數據存在str型,那么取出的數據,全部轉化為str型,也就是array陣列的元素全是str,不管數據庫定義的是不是int型。
那么問題來了,取出的數據代入公式進行計算的時候,就會類型不符,這是就用到astype(np.float)
代碼如下
import pymysql import numpy as np conn = pymysql.connect(host='39.106.168.84', user='xxxxxx', password='xxxxxx', port=3306, db='flask_topvj_net') cur = conn.cursor() sql = "SELECT `name`, `age`,`nr` FROM `student` WHERE 1" cur.execute(sql) u = cur.fetchall() u=np.array(u) conn.close() print(u) #a=u[:,1]*5 #b=u[:,2]*5#錯誤示范 a=u[:,1].astype(np.float)*5 b=u[:,2].astype(np.float)*5 print(a) print(b)
結果
可以看出array的第二列和第三列都乘以5了。計算成功。