# -*- coding: UTF-8 -*-
#numpy 库的使用,请参考:https://www.jianshu.com/p/a260a8c43e44
#matplotlib 库请参考:https://matplotlib.org/api/index.html
import xlrd # 导入必备的 xlrd 库,目的是为了调用 xlrd.open_workbook 函数打开
excel 文件,读取数据
import matplotlib.pyplot as plt # 导 入 必 备 的 matplotlib 库 , 并 且 将 其 中 的
matplotlib.pyplot 重名为 plt, 目的是为了后续的绘图需要,也是为了编程方便,简写为 plt
import numpy as np # 导入必备的 numpy 库,并且将其重名为 np, 目的是为了后续
的矩阵的定义、运算、操作等,也是为了编程方便,简写为 np
# 定义函数 loadData 函数,输入参数是 filename 指代文件名,返回数据 data,目的是从.xls
文件中加载数据,并存储为 numpy 中的 array 格式
def loadData(filename):
workbook = xlrd.open_workbook(filename) # 通过调用 xlrd.open_workbook 函
数打开 excel 文件,读取数据,并返回给 workbook 变量
boyinfo = workbook.sheet_by_index(0) # 通过使用属性 sheet_by_index 得
到 excel 文件 中的工作簿,其中 sheet_by_index(0) 表示是第一个工作簿,在 python 中,
下标从 0 开始
col_num = boyinfo.ncols # 通过使用属性 ncols 得到 excel
文件 中第一个工作簿的 列数,并赋值给 col_num
row_num = boyinfo.nrows # 通过使用属性 nrows 得到
excel 文件 中第一个工作簿的 行数,并赋值给 row_num
col0 = boyinfo.col_values(0)[1:] # 通过使用属性 col_values(0)[1:] 得到
excel 文件 中第一列数据中,从第 2 行到最后一行的所有数据,并赋值给 col0
data = np.array(col0) # 通过使用 np.array 函数,将 col0
转换成数组,并赋值给 data
if col_num == 1: # 条件判断语句: 如果列数
col_num 为 1, 只有一列,那么直接返回数据 data
return data # 返回 data
else: # 否则,如果不止一列数据,需
要遍历所有列的数据
for i in range(col_num-1): # 通过使用 for 循环达到遍历的
目的
coltemp = boyinfo.col_values(i+1)[1:] # 从第二行开始,表头不算,
遍历从 第二列 开始到最后一列的数据
data = np.c_[data, coltemp] # 通过使用 np.c_ 函数将
第一列的数据 和后面 所有列的数据组合起来,并赋值给 data
return data # 返回 data
# 定义一个 plotData 函数,输入参数是 数据 X 和标志 flag: y,返回作图操作 plt, p1, p2 ,
目的是为了画图
def plotData(X, y):