从excel表格种读取数据,然后把一列的数据经过简单的加减乘除的数学运算后放到相应的另一列中(index相同,columns变化)。
完成这样一个功能,使用的是逐个赋值的方式,
data.iloc[i,Colu] = data.temp[i] #即把temp列的数据放到Colu列中
(其中Colu为变量)
调试中,发现data.temp[i]的数据明明是float类型,但是经过赋值后到data.iloc[i,Colu]就变成了int型。
原因:读取excel表格数据时,没有指定数据类型。
import pandas as pd
data= pd.read_excel(file_directory,index_col=0)
因此数据被默认为int型了。
解决方法:读取数据时,指定需要计算或赋值的列为float型。
# 指定数据类型 data= pd.read_excel(file_directory,index_col=0,dtype={'A_QTY': float,'B_QTY': float,'temp': float,})
用hex函数,可以把10进制整数变成十六进制数比如上面的例子十进制数15,变成16进制数是f,里面的0x只是一个前缀十进制数255,变成16进制数是ff,