数据分析入门——pandas之DataFrame数据丢失
一、数据丢失分类
1)nd中分为两种:None和np.nan(NaN)
其中,None是python中的对象,是一个object;而nan是一个float类型
两种不同的类型,运算速度也是不同的
2)pandas中两种都视作NaN(np.nan)
二、数据丢失处理
通过控制columns来创建有NaN的数据:

通过loc切片赋值来处理部分NaN数据:

1.与空相关的方法
检测:
isnull()和notnull()

如何检测df中哪些行中存在空行?
df.isnull().any(axis=1): True行中存在空 False行中不存在空(any的字面意思就是该行有一个为True即为True)
df.notnull().all(axis=1): False行中存在空 True行中不存在空(all与上面any类似,也就是逻辑里面的与操作了)
过滤:
dropna() --可以选择过滤行还是列(默认为行,也就是axis = 0,有空行则删除)
可以通过how参数来控制,是any还是all(存在就剔除还是全部才剔除)
dropna(how = 'all')
这里重复一下,轴的概念:
根据stackoverflow答主解释,axis=0指的是逐行,轴是Index;axis=1指的是逐列,轴是columns。(index (0), columns (1))
根据结果:
mean(axis=0)计算的是每一列平均值,
mean(axis=1)计算的是每一行平均值。(轴是columns)

填充:(可以填充Series/DataFrame)
fillna(value = xx)
对所有的na都进行填充

可以通过method选择向后填充(bfill,使用后一个的值进行填充,文档有详细参数解释),或者向前(ffill)填充
注意,此处是返回一个填充后的副本,本身并没有改变,可以通过inplace参数来控制

数据分析入门——pandas之DataFrame数据丢失的更多相关文章
- 数据分析入门——pandas之DataFrame基本概念
一.介绍 数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列. 可以看作是Series的二维拓展,但是df有行列索引:index.column 推荐参考:https://www. ...
- 数据分析入门——pandas之DataFrame多层/多级索引与聚合操作
一.行多层索引 1.隐式创建 在构造函数中给index.colunms等多个数组实现(datafarme与series都可以) df的多级索引创建方法类似: 2.显式创建pd.MultiIndex 其 ...
- 数据分析入门——pandas之Series
一.介绍 Pandas是一个开源的,BSD许可的库(基于numpy),为Python编程语言提供高性能,易于使用的数据结构和数据分析工具. 官方中文文档:https://www.pypandas.cn ...
- 数据分析入门——Pandas类库基础知识
使用python进行数据分析时,经常会用Pandas类库处理数据,将数据转换成我们需要的格式.Pandas中的有两个数据结构和处理数据相关,分别是Series和DataFrame. Series Se ...
- 数据分析入门——pandas数据处理
1,处理重复数据 使用duplicated检测重复的行,返回一个series,如果不是第一次出现,也就是有重复行的时候,则为True: 对应的,可以使用drop_duplicates来删除重复的行: ...
- 数据分析入门——pandas之数据合并
主要分为:级联:pd.concat.pd.append 合并:pd.merge 一.numpy级联的回顾 详细参考numpy章节 https://www.cnblogs.com/jiangbei/p/ ...
- 数据分析入门——pandas之合并函数merge
merge有点类似SQL中的join,可以将不同数据集按照某些字段进行合并,得到新的数据集 1.参数一览表: 2.一对一连接:默认情况下,会按照相同字段的进行连接 例如有相同字段emp的两个df,m ...
- Python数据分析入门之pandas基础总结
Pandas--"大熊猫"基础 Series Series: pandas的长枪(数据表中的一列或一行,观测向量,一维数组...) Series1 = pd.Series(np.r ...
- 利用python进行数据分析之pandas入门
转自https://zhuanlan.zhihu.com/p/26100976 目录: 5.1 pandas 的数据结构介绍5.1.1 Series5.1.2 DataFrame5.1.3索引对象5. ...
随机推荐
- 【Docker】docker安装GitLab
一.下载镜像 docker pull gitlab/gitlab-ce 二.运行GitLab容器 1.生成启动文件 - start.sh 使用docker命令运行容器,注意修改hostname为自己喜 ...
- jar - 操作jar包的工具
jar - Manipulates Java Archive (JAR) files. jar命令是一种通用的存档和压缩工具,基于ZIP和ZLIB压缩格式. 常用格式: * 创建jar文件 jar c ...
- SHELL脚本编程-expect
SHELL脚本编程-expect 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.expect概述 1>.expect介绍 expect 是由Don Libes基于Tcl( ...
- .netcore发布时指定服务器的系统类型
asp.net core 开发完成后发布,在IIS上面访问,直接报错 系统是windows2008 Application startup exception: System.DllNotFound ...
- 《exception》第九次团队作业:Beta冲刺与验收准备(第三天)
一.项目基本介绍 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 Exception 作业学习目标 1.掌握软件黑盒测试技术:2.学会编制软件项目 ...
- 电脑重装后 python 2 3快速安装
背景: 电脑重装后,python也要跟着重装,将安装包.环境变量备份等安装完成后直接安装 重装前 1. pip包备份,命令窗口 pip freeze > py2.txt #python2的包 p ...
- 目标检测中的bounding box regression
目标检测中的bounding box regression 理解:与传统算法的最大不同就是并不是去滑窗检测,而是生成了一些候选区域与GT做回归.
- c++ 将float 类型转换成string 类型
string Convert(float Num) { ostringstream oss; oss<<Num; string str(oss.str()); return str; }
- 内核用户模式调试支持(Dbgk)
简介 将详细分析Windows调试的内核模式接口.希望读者对C和通用NT内核体系结构和语义有一些基本的了解.此外,这并不是介绍什么是调试或如何编写调试器.它可以作为经验丰富的调试器编写人员或好奇的安全 ...
- 使用git_stats 统计分析git 仓库代码&& 集成webhook
前几天写过一个使用gitstats 统计分析代码的,但是那个因为开发的问题,对于直接和容器集成是有问题的,统计需要进入容器执行 命令,对于自动构建的还不是很方便,所以使用了git_stats 项目 ...