【发布时间】:2017-01-13 12:59:46
【问题描述】:
我正在做一个项目,我们首先必须过滤数据,以便删除无效数据。这意味着如果我们加载的数据中的一行包含字母/单词,则必须将其删除。 我的以下代码是否足以做到这一点?
import numpy as np
def dataLoad(filename):
#The data is loaded and the variables are defined:
rawData=np.loadtxt('test.txt')
rawTemperature, rawGrowthrate, rawBacteria=np.loadtxt('test.txt',unpack=True)
print("You have choosen to work with the file {:s}".format(filename))
# Removeing unvalid data:
# Empty vector to save the invalid data in:
InvalidData=[]
# Vector with ones:
Erase=np.ones(len(rawData))
# The loop looks trough every datapoint in the matrix:
for i in range(len(rawData)):
# The rows in the Data that contains invalid data is inserted in Invalid Data
# And the ones in I'th place is switched to a zeroes.
if rawTemperature[i]<10 or rawTemperature[i]>60 or rawTemperature[i]==(""):
InvalidData.insert(i,'In line %d invalid Temperature' % (i+1))
Erase[i]=0
if rawGrowthrate[i]<0 or rawGrowthrate[i]==(""):
InvalidData.insert(i,'In line %d invalid Growth rate' % (i+1))
Erase[i]=0
if rawBacteria[i]<0 or rawBacteria[i]>4 or rawBacteria[i]==(""):
InvalidData.insert(i,'In line %d invalid Bacteria' % (i+1))
Erase[i]=0
【问题讨论】:
-
你测试了吗?它通过了这些测试吗?
-
test.txt 包含什么?
标签: python python-3.5