写在前面
最近老师布置了一个作业,内容是对国内各省份生产总值与固定资产投资的数据,采用最短距离法进行聚类。原本这种关于矩阵运算的问题用Matlab是比较合适的,奈何Matlab我运用的不是太熟练,所以选择采用python完成。写这篇博客的目的是记录一下代码中使用到的关于Numpy库的一些函数,以及整理一下实现的流程以供需要完成类似功能的小伙伴参考。
使用的Numpy函数
- np.zeros:功能是创建一个0矩阵,具体使用
- np.max:返回矩阵的最大值,可以根据行或列,具体使用
- np.column_stack:将两矩阵按列合并,具体使用
- np.shape:返回矩阵的维度,具体使用
- np.fabs:得到矩阵的绝对值
- np.argwhere:返回查找某数的位置信息,具体使用
- np.where:类似于三元表达式,具体使用
- np.min:同np.max
- np.delete:删除指定行或指定列,具体使用
- np.append:添加数据到已有矩阵,具体使用
具体实现流程
1. 读取数据
实验数据格式如下所示。
读取数据部分思路即将数据逐行读入,设置一个标识以不存入第一行数据,最后根据逗号分割每行的内容并将其分别存入对应的列表中。直接附上源码吧!
def getData(data_file):
x_data = []
y_data = []
global name
name = []
iden = 1
f = open(data_file, "r", encoding='utf_8')
line = f.readline()
while line != '':
# 去除第一行
if iden == 1:
iden = iden + 1
line = f.readline()
continue
# 存入数据至两个列表
tem = line.strip('\n').split(',')
name.append(tem[0])
x_data.append(tem[