python 数据的清理行为实例详解
python数据的清理行为实例详解
数据清洗主要是指填充缺失数据,消除噪声数据等操作,主要还是通过分析“脏数据”产生的原因和存在形式,利用现有的数据挖掘手段去清洗“脏数据”,然后转化为满足数据质量要求或者是应用要求的数据。
1、try语句还有另外一个可选的子句,它定义了无论在任何情况下都会执行的清理行为。
例如:
>>>try:
raiseKeyboardInterrupt
finally:
print('Goodbye,world!')
Goodbye,world!
Traceback(mostrecentcalllast):
File"",line2,in
raiseKeyboardInterrupt
KeyboardInterrupt
以上例子不管try子句里面有没有发生异常,finally子句都会执行。
2、如果一个异常在try子句里(或者在except和else子句里)被抛出,而又没有任何的except把它截住,那么这个异常会在finally子句执行后再次被抛出。
下面是一个更加复杂的例子(在同一个try语句里包含except和finally子句):
>>>defdivide(x,y):
try:
result=x/y
exceptZeroDivisionError:
print("divisionbyzero!")
else:
print("resultis",result)
finally:
print("executingfinallyclause")
>>>divide(2,1)
resultis2.0
executingfinallyclause
>>>divide(2,0)
divisionbyzero!
executingfinallyclause
>>>divide("2","1")
executingfinallyclause
Traceback(mostrecentcalllast):
File"",line1,in
divide("2","1")
File"",line3,individe
3、预定义的清理行为
一些对象定义了标准的清理行为,无论系统是否成功的使用了它,一旦不需要它了,那么这个标准的清理行为就会执行。
这面这个例子展示了尝试打开一个文件,然后把内容打印到屏幕上:
>>>forlineinopen("myfile.txt"):
print(line,end="")
Traceback(mostrecentcalllast):
File"",line1,in
forlineinopen("myfile.txt"):
FileNotFoundError:[Errno2]Nosuchfileordirectory:'myfile.txt'
以上这段代码的问题是,当执行完毕后,文件会保持打开状态,并没有被关闭。
关键词with语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行他的清理方法:
>>>withopen("myfile.txt")asf:
forlineinf:
print(line,end="")
Traceback(mostrecentcalllast):
File"",line1,in
withopen("myfile.txt")asf:
FileNotFoundError:[Errno2]Nosuchfileordirectory:'myfile.txt'
以上这段代码执行完毕后,就算在处理过程中出问题了,文件f总是会关闭。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!