#ecoding=utf-8
import math
import re
import csv
def fileREAD(fileURL,access):
"传入文件路径,返回存储文件内容的二维列表"
localArray = [] # 创建一个列表用于存储文件内容
csvfile = file(fileURL, access)
reader = csv.reader(csvfile)
for line in reader:
localArray.append(line)
csvfile.close()
return localArray
def getLine(inList,Line):
"获得某一行数据"
return inList[Line]
def getRow(inList,Row):
"获得某一列数据"
listReturn = []
for i in inList:
listReturn.append(i[Row])
return listReturn
def setLine(inList,childList,Line):
"设置矩阵某一行数据"
inList[Line] = childList
def setRow(inList,chikdList,Row):
"设置矩阵的某一列"
i = 0
for i in range(0,len(chikdList)):
inList[i][Row] = chikdList[i]
def addLine(inList,childLine):
"给数据矩阵添加一行"
inList.append(childLine)
def addRow(inList,childRow):
"给数据矩阵添加一列"
j = 0
for i in inList:
i.append(childRow[j])
j = j+1
def getAVG(inList):
"求数值属性的均值"
sumOfList = 0
lengOfList = 0
for i in inList:
if re.match(r'[0-9]+',i):
sumOfList = sumOfList + float(i)
lengOfList = lengOfList + 1
else:
continue
if lengOfList != 0 :
return sumOfList/lengOfList
else:
return "当前特征无平均值"
def getAVE(inList):
"求数值属性的方差"
#先求平均数
sumOfList = 0
lengOfList = 0
su = 0
for i in inList:
if re.match(r'[0-9]+', i):
sumOfList = sumOfList + float(i)
lengOfList = lengOfList + 1
else:
continue
if lengOfList != 0:
avg = sumOfList / lengOfList
for j in inList:
if re.match(r'[0-9]+',j):
su += (float(j) - avg) ** 2
else:
continue
return math.sqrt(su)
else:
return "当前特征无方差"
def average(seq, total=0.0):
num = 0
for item in s
python数据预处理练习
最新推荐文章于 2024-05-11 20:47:13 发布