当前位置:网站首页>np.nan, np.isnan, None, pd.isnull, pd.isna 整理与小结
np.nan, np.isnan, None, pd.isnull, pd.isna 整理与小结
2022-08-02 12:00:00 【每天都想躺平的大喵】
np.nan, np.isnan, None, pd.isnull, pd.isna 整理与小结
np.nan
np.nan | |
---|---|
not a member | nan的含义是“not a number“,它是对array中缺失的数值的占位符 |
type 为 float | 因为代表缺失的数值,np.nan的type是float |
可参与计算 | np.nan的type是float,所以np.nan可参与计算,且占主导地位,也就是算出的值都为np.nan |
不等于自身 | 如果用np.nan==np.nan,会发现返回的结果为False,如果用np.nan in array,也不能发现array中是否包含np.nan |
np.isnan判断是否存在np.nan | np.nan因为没有等于的概念,所以要判断是否存在np.nan,只可以用np.isnan来判断 |
np.isnan只可以判断数值型 | 如果用np.isnan对其余type的array判断,会报错,np.isnan只可以判断数字型array |
忽略np.nan的numpy计算 |
---|
nansum() |
nanmax() |
nanmin() |
nanargmax() |
nanargmin() |
None
None | |
---|---|
NoneType | None的type为NoneType,是python内置的 |
不可参与计算 | None不可参与计算,否则报错 |
None is None 或者 None==None | 这两种方式返回值都是True |
pd.isnull 和 pd.isna
pd.isnull pd.isna | |
---|---|
pd.isnull 和 pd.isna是同一个东西 | 用命令pd.isnull==pd.isna,会发现返回值为True |
None和np.nan在pandas中都是缺省值 | None和np.nan都会被pd.isnull或者pd.isna判断为True |
可以判断List或者单独一个值 | pd.isnull和pd.isna的判断对象可以为一个值或者一个list |
pandas中缺省值不参与计算 | 当使用df.min()等计算时,会发现缺省值不参与计算 |
代码示例
- 只可以用np.isnan判断array中是否包含np.nan
a = np.array([1,2,3,4,np.nan])
a == np.nan
>>> array([False, False, False, False, False])
np.nan in a
>>> False
np.isnan(a)
>>> array([False, False, False, False, True])
- np.nan可参与计算,np.nan占主导地位
a = np.array([1,2,3,4,np.nan])
a.max()
>>> np.nan
a.min()
>>> np.nan
b = np.array([1,np.nan,3,4,5])
a+b
>>> array([ 2., nan, 6., 8., nan])
- np.isnan只可以对数值型array判断,当array中其余的元素为字符串是,array会将np.nan转换成’nan’
- 在pandas中,np.nan和None都被视为缺省值
df = pd.DataFrame({
'col1':['a','b','c','d'], 'col2':[1,2,3,4]})
df.loc[1,'col1'] = np.nan
df.loc[2,'col1'] = None
df
>>> col1 col2
0 a 1
1 NaN 2
2 None 3
3 d 4
pd.isna(df)
>>> col1 col2
0 False False
1 True False
2 True False
3 False False
- pandas中缺省值不参与计算
df = pd.DataFrame(np.arange(8).reshape(2,4))
df.iloc[0,1] = None
df.iloc[0,2] = np.nan
df
>>> 0 1 2 3
0 0 NaN NaN 3
1 4 5.0 6.0 7
df.min(axis=1)
>>> 0 0.0
1 4.0
dtype: float64
边栏推荐
- 半夜赶工制作简报的我好想说 : 确定了,最终稿就是这样
- Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单。
- 数据湖(一):数据湖概念
- npm install报错npm ERR Could not resolve dependency npm ERR peer
- jacoco的学习以及理解
- Failure Analysis | A SELECT statement crashes MySQL, what happened?
- 小程序插件的生态丰富,加速开发建设效率
- 基于深度学习的裂缝检测技术
- 【Acunetix-Forgot your password】
- 5G网络切片技术
猜你喜欢
随机推荐
手撸架构,MongDB 面试50问
基于深度学习的裂缝检测技术
【2022 小目标检测综述】Towards Large-Scale Small Object Detection: Survey and Benchmarks
Mysql transaction isolation level and MVCC (multi-version concurrency control)
Likou 209 - String with the Minimum Length - Sliding Window Method
Excel dynamic chart production
Getting Started with Three.JS Programmatic Modeling
Pytorch 占用cpu资源过多
使用无界队列的线程池会导致内存飙升吗?
如何搭建威纶通触摸屏与S7-200smart之间无线PPI通信?
打破千篇一律,DIY属于自己独一无二的商城
darknet训练yolov4模型
【kali-信息收集】(1.9)Metasploit+搜索引擎工具Shodan
小程序插件的生态丰富,加速开发建设效率
故障分析 | 一条 SELECT 语句跑崩了 MySQL ,怎么回事?
DTG-SSOD:最新半监督检测框架,Dense Teacher(附论文下载)
喜迎八一 《社会企业开展应聘文职人员培训规范》团体标准出版发行会暨橄榄枝大课堂上线发布会在北京举行
Running yum reports Error: Cannot retrieve metalink for reposit
当POC遇见RPA:RPA项目顺利实施的关键
The ex-boyfriend bought chili water and threatened to rob his daughter. Can the woman apply for a personal safety protection order?