我的数据库如图
结构
我取了其中的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了。计算成功。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。