电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python 實現使用空值進行賦值 None

瀏覽:6日期:2022-08-02 14:23:03

0.摘要

在Python中,尤其是數組當中,對于一些異常值往往需要進行特殊處理。為了防止異常值與正常數據混淆,影響最終計算結果,常用的方法是將異常值置零或者置空。置零的方法較為簡單,本文主要介紹如果對python中的數據進行置空。

1.賦值為None

對于一般數據,可以直接為其賦值為None。

i = 1i = None # int 型數據置空s = 'string's = None # 字符串型數據置空l = [1,2,3,4]l[2] = None # 列表中元素置空print(i, s, l)

Python 實現使用空值進行賦值 None

2.numpy類型

numpy 中的數據較為特殊,如果將一個int 型元素賦值為None,或者np.nan都會產生報錯:

a = np.arange(10)a[2] = None

Python 實現使用空值進行賦值 None

a = np.arange(10)a[2] = np.nan

Python 實現使用空值進行賦值 None

如果打印np.nan的類型,會發現np.nan是float類型的。

>>> type(np.nan)<class ’float’>

在numpy數組中,將int型元素賦值為float類型,是不合法的。賦值語句不會報錯,但numpy會自動將float類型轉為int型。

而打印None類型,會發現None沒有類型。

>>> type(None)<class ’NoneType’>

賦值報錯的原因,個人認為是:numpy判斷類型不符,但也無法完成類型轉換,所以產生了報錯。

在numpy中,如果想將某一元素賦值為None或者這np.nan,可以先將數組轉換為float類型。

a = np.arange(10, dtype=float)a[2] = np.nana[3] = Noneprint(a)

Python 實現使用空值進行賦值 None

從最終結果上看,不論是np.nan,還是None,在numpy中都以nan的形式出現。

補充知識:Python 類型判斷 變量存在判斷 None與空字符串 is和==區別 nan inf判斷

一、類型變量

type

#判斷是否為整數type(varObj) is types.IntType StringType FloatType DictType TupleType ListType BooleanType

isinstance

isinstance(aaa,str)

type與isinstance區別

class A: passclass B(A): passisinstance(A(), A) # returns Truetype(A()) == A # returns Trueisinstance(B(), A) # returns Truetype(B()) == A # returns False

二、變量存在

異常捕獲

try: print self.fileReadOpen except Exception: pass else: del self.fileReadOpen

def isset(v): try : type (eval(v)) except : return 0 else : return 1

isset(’varname’) //變量只能在try里調用才會捕獲異常,所以采用字符串參數。

命名空間

’varname’ in locals().keys()’varname’ in dir()

dir()不帶參數時,返回當前范圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。如果參數包含方法dir(),該方法將被調用。如果參數不包含dir(),該方法將最大限度地收集參數信息。

三、None與空字符串

有句話說的Python中萬物皆為對象。None也是對象。這就好理解None與空字符串NULL區別:

type(None)<class ’NoneType’>type(’’)<class ’’str’>>>> None == 0 //(int)False>>> None == ’ ’ //(str)False>>> None == False //(boolean)False

四、is和==區別

is判斷的是a對象是否就是b對象,是通過id來判斷的。

==判斷的是a對象的值是否和b對象的值相等,是通過value來判斷的。

>>> d = {'a':1}>>> dd = d.copy()>>> d is ddFalse>>> d == ddTrue

五、nan inf

記憶:對于is判斷,符合is的對象比較定義:對象is對象本身,對象不is新建對象。對于==判斷,除了nan,符合==的值比較的定義。對于nan在用==值比較時,可以認為,nan對象的值不==該nan對象的值,nan對象的值不==新建nan對象的值。

>>> inf = float('inf')>>> ninf = float('-inf')>>> nan = float('nan')>>> inf is infTrue>>> ninf is ninfTrue>>> nan is nanTrue>>> inf == infTrue>>> ninf == ninfTrue>>> nan == nan // nan對象時本身對象nanFalse>>> inf is float('inf')False>>> ninf is float('-inf')False>>> nan is float('nan')False>>> inf == float('inf')True>>> ninf == float('-inf')True>>> nan == float('nan') //前一個nan值不等于新建對象float('nan')的值False

判斷nan方法:

使用math模塊:

>>> import math>>> math.isinf(inf)True>>> math.isinf(ninf)True>>> math.isnan(nan)True>>> math.isinf(float('inf'))True>>> math.isinf(float('-inf'))True>>> math.isnan(float('nan'))True

利用自身判斷:

>>> def isnan(num): return num != num>>> isnan(float('nan'))True

使用numpy:

>>> import numpy as np>>> >>> np.isnan(np.nan)True>>> np.isnan(float('nan'))True>>> np.isnan(float('inf'))False

以上這篇Python 實現使用空值進行賦值 None就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 算命免费_生辰八字_免费在线算命 - 卜算子算命网 | 大连海岛旅游网>>大连旅游,大连海岛游,旅游景点攻略,海岛旅游官网 | 厦门ISO认证|厦门ISO9001认证|厦门ISO14001认证|厦门ISO45001认证-艾索咨询专注ISO认证行业 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 间苯二酚,间苯二酚厂家-淄博双和化工 | IWIS链条代理-ALPS耦合透镜-硅烷预处理剂-上海顶楚电子有限公司 lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 快速门厂家批发_PVC快速卷帘门_高速门_高速卷帘门-广州万盛门业 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 真空冷冻干燥机_国产冻干机_冷冻干燥机_北京四环冻干 | 临沂招聘网_人才市场_招聘信息_求职招聘找工作请认准【马头商标】 | 西门子伺服控制器维修-伺服驱动放大器-828D数控机床维修-上海涌迪 | 会议会展活动拍摄_年会庆典演出跟拍_摄影摄像直播-艾木传媒 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 浇钢砖,流钢砖_厂家价低-淄博恒森耐火材料有限公司 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 世纪豪门官网 世纪豪门集成吊顶加盟电话 世纪豪门售后电话 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 自清洗过滤器,浅层砂过滤器,叠片过滤器厂家-新乡市宇清净化 | 南京交通事故律师-专打交通事故的南京律师 | C形臂_动态平板DR_动态平板胃肠机生产厂家制造商-普爱医疗 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 北京成考网-北京成人高考网| 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 |