TIPS:Python的注释是#,但是若需要中文注释的时候,需要在最前面加上#coding=utf-8
首先Python要读取一个excel文件的时候,要首先
import xlrd
首先,打开一个excel文件
fname="logisticsregressiontest.xlsx"; data=xlrd.open_workbook(fname);
这时,data中含有几个sheet,一般来讲,我们都是读取excel的第一个sheet进行处理,也就是
table=data.sheets()[0];
获取数据的行数和列数
nrows=table.nrows;
ncols=table.ncols;
假设我们打开的excel文件如下图
此时我们想要读取x1,x2,x3三列的数据赋值给数组x0,
我们首先挨个读取数据的单元格中的数据:
读取单元格的代码是
a=table.cell(row,col);#注意这样这里读出来的是cell类型的,不能进行操作,row,col都是从0开始的。
如果想要读取单元格中的数据写作
a=table.cell(row,col).value
这样,我们读取三列的代码可以写作
for row_B in range(1,nrows):
a1 =table.cell(row_A, 1).value;
a2 =table.cell(row_A, 2).value;
a3 = table.cell(row_A, 3).value;
arr1.append(a1);
arr2.append(a2);
arr3.append(a3);
其中arr1,arr2,arr3分别是三个数组,里面分别存放了x1,x2,x3三列的值。
我们接下来需要将三个数组组合成三行,然后进行转置。
x0=np.vstack((arr1,arr2,arr3));
Python对数据进行转置的代码是:
x0=np.transpose(x0);#用np之前需要import numpy as np
这样x0就存放了三列的数值,输出一下
上面的两行代码也可以写作
x0=np.array([
arr1,
arr2,
arr3
]).transpose();
tips:
1.Python新建一个一维的全是0的向量
thita=np.zeros(3);
2.Python的矩阵乘法需要用
dot(thita,x)