python3-pandas 缺失数据的处理

1、缺失数据的处理

1.1、判断是否为nan

isnull: 是nan为true
notnull: 不是nan为true

import pandas as pd
import numpy as npt3 = pd.DataFrame(np.arange(12).reshape(3,4), index=list("abc"), columns=list("wxyz"))
print(t3)
"""w  x   y   z
a  0  1   2   3
b  4  5   6   7
c  8  9  10  11
"""
t3.iloc[1:,:2] = np.nan
print(t3)
"""w    x   y   z
a  0.0  1.0   2   3
b  NaN  NaN   6   7
c  NaN  NaN  10  11
"""
print(pd.isnull(t3))
"""w      x      y      z
a  False  False  False  False
b   True   True  False  False
c   True   True  False  False
"""
print(pd.notnull(t3))
"""w      x     y     z
a   True   True  True  True
b  False  False  True  True
c  False  False  True  True
"""
print(t3[pd.notnull(t3["w"])])
"""w    x  y  z
a  0.0  1.0  2  3
"""

1.2、删除为nan的行 或 列

https://www.runoob.com/pandas/pandas-cleaning.html
dropna(axis=0,how=“any”, thresh=None,subset=None,inplace=False)

dropna 删除为nan 的 行或者 列 ;
axis=0 删除行 axis=1 删除列
how=“all” 全为nan 的删除, how=“any” 有一个为nan的就删除
inplace=True 就地修改,修改后直接会修改原数据,默认为 False,类似于 t3 = t3.dropna(axis=0, how=“any”)

print(t3.dropna(axis=0, how="all"))
"""w    x   y   z
a  0.0  1.0   2   3
b  NaN  NaN   6   7
c  NaN  NaN  10  11
"""
print(t3.dropna(axis=0, how="any"))
"""w    x  y  z
a  0.0  1.0  2  3
"""

1.3、为nan 填充数据

print(t3)
"""w    x   y   z
a  0.0  1.0   2   3
b  NaN  NaN   6   7
c  NaN  NaN  10  11
"""
# 填充固定数字
print(t3.fillna(10))
"""w     x   y   z
a   0.0   1.0   2   3
b  10.0  10.0   6   7
c  10.0  10.0  10  11
"""
# 填充均值
print(t3.fillna(t3.mean()))
"""w    x   y   z
a  0.0  1.0   2   3
b  0.0  1.0   6   7
c  0.0  1.0  10  11
"""
# 只对某一列 填充均值
print(t3["x"].fillna(t3["x"].mean()))
"""
a    1.0
b    1.0
c    1.0
Name: x, dtype: float64
"""
t3["x"] = t3["x"].fillna(t3["x"].mean())
print(t3)
"""w    x   y   z
a  0.0  1.0   2   3
b  NaN  1.0   6   7
c  NaN  1.0  10  11
"""
"""
算均值时 pandas 不会把 nan 的算进去
但是 nunpy 会把nan 的算进去
"""
print(np.array([[1,6,5,np.nan],[1,6,5,np.nan]]).mean())  # nan
print(np.array([[1,1,1,1],[2,2,2,2]]).mean())  # 1.5

不要随便把nan赋值为0,不然计算均值 等值时,pandas会把它计算在内
算均值时 pandas 不会把 nan 的算进去,但是 nunpy 会把nan 的算进去

1.4、清洗重复数据

https://www.runoob.com/pandas/pandas-cleaning.html

import pandas as pdperson = {"name": ['Google', 'Runoob', 'Runoob', 'Taobao'],"age": [50, 40, 40, 23]  
}
df = pd.DataFrame(person)print(df.duplicated())
"""
0    False
1    False
2     True
3    False
dtype: bool
"""

删除重复数据,可以直接使用drop_duplicates() 方法。

import pandas as pdpersons = {"name": ['Google', 'Runoob', 'Runoob', 'Taobao'],"age": [50, 40, 40, 23]  
}df = pd.DataFrame(persons)df.drop_duplicates(inplace = True)
print(df)
"""name  age
0  Google   50
1  Runoob   40
3  Taobao   23
"""

视频顺序错位 30–》29–》42
https://www.kaggle.com/damianpanek/sunday-eda/data

https://www.bilibili.com/video/BV1hx411d7jb?p=32

https://www.bilibili.com/video/BV1hx411d7jb?p=28
https://www.bilibili.com/video/BV1hx411d7jb?p=30
https://www.bilibili.com/video/BV1hx411d7jb?p=29
https://www.bilibili.com/video/BV1hx411d7jb?p=42
https://www.bilibili.com/video/BV1hx411d7jb?p=31

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Stream anyMatch查找案例

package com.gblfy.gxts;import lombok.AllArgsConstructor; import lombok.Data; import org.junit.Before; import org.junit.Test;import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;/*** 案例1:* 某班集中有…

记一次Cassandra Java堆外内存排查经历

背景 最近准备上线cassandra这个产品,同事在做一些小规格ECS(8G)的压测。压测时候比较容易触发OOM Killer,把cassandra进程干掉。问题是8G这个规格我配置的heap(Xmx)并不高(约6.5g)已经留出了足够的空间给系统。只有可能是Java堆…

程序员内功修炼系列:10 张图解谈 Linux 物理内存和虚拟内存

来源 | 后端技术学堂责编 | Carol封图 | CSDN 付费下载于视觉中国我们都知道,程序可没这么好骗,任你内存管理把虚拟地址空间玩出花来,到最后还是要给程序实实在在的物理内存,不然程序就要罢工了。所以物理内存这么重要的资源一定要…

阿里高级技术专家方法论:如何写复杂业务代码?

阿里妹导读:张建飞是阿里巴巴高级技术专家,一直在致力于应用架构和代码复杂度的治理。最近,他在看零售通商品域的代码。面对零售通如此复杂的业务场景,如何在架构和代码层面进行应对,是一个新课题。结合实际的业务场景…

Android Studio 安装教程

注意安装之前请配置好java 和 Android SDK 1、下载 官网地址: https://developer.android.google.cn/studio/ 点击下载后,需要同意协议: 2、安装 1、双击程序 2、一路 next,如果想修改路径可自行修改。 3、安装完成点击Fi…

Stream filter过滤案例

package com.gblfy.gxts;import com.google.common.collect.Lists; import lombok.AllArgsConstructor; import lombok.Data; import org.junit.Before; import org.junit.Test;import java.util.List;/*** 案例2:* 标签管理功能模块。允许用户批量添加标签&#xf…

Schedulerx2.0工作流支持数据传输

1. 前言 Schedulerx2.0是阿里中间件自研的基于akka架构的新一代分布式任务调度平台,提供定时、任务编排、分布式跑批等功能,具有高可靠、海量任务、秒级调度等能力。 Schedulerx2.0提供可视化的工作流进行任务编排,该文章将详细介绍如何使用…

应用实时监控 ARMS 上线用户行为回溯功能

随着前端技术日新月异迅猛发展,为了实现更好的前端性能,最大程度提高用户体验,支持单页应用的框架逐渐占领市场,如众所周知的React,Vue等等。但是在单页应用的趋势下,快速定位并解决JS错误却成为一大难题。…

Android Studio 创建第一个Android工程项目

1、打开Android Studio 2、点击 New Project 选择 Empty Activity 3、点击 Next 4、点击 Finish 等待加载完成,取决于网络,第一次加载可能要很久。。。 5、下载完成 可以在右上角切换为 Project 模式 6、创建一个虚拟设备 https://www.bilibili…

我竟然混进了 Python 高级圈子!

现如今,计算机科学、人工智能、数据科学已成为技术发展的主要推动力。无论是要翻阅这些领域的文章,还是要参与相关任务,你马上就会遇到一些拦路虎:想过滤垃圾邮件,不具备概率论中的贝叶斯思维恐怕不行;想试…

Tablestore + Blink实战:交易数据的实时统计

背景 交易数据的实时统计是电商网站一个核心功能,可以帮助用户实时统计网站的整体销售情况,快速验证“新销售策略”的效果。我们今天介绍一个基于表格存储(Tablestore)实现交易数据的实时计算,给大家提供一个新使用方式。 Tablestore作为在…

无标注数据是鸡肋还是宝藏?阿里工程师这样用它

阿里妹导读:针对业务场景中标注数据不足、大量的无标注数据又难以有效利用的问题,我们提出了一种面向行为序列数据的深度学习风控算法 Auto Risk,提出通过代理任务从无标注数据中学习通用的特征表示。这种思想与目前 NLP 领域前沿的 Bert 等预…

Android 控件 - TextView

1、TextView https://www.bilibili.com/video/BV13y4y1E7pF?p3 1.1、layout_width、layout_height match_parent:表示让当前控件的大小和父布局的大小一样,也就是由父布局来决定当前控件的大小 wrap_content:表示让当前的控件大小能够刚好…

为什么选择Cassandra

cassandra概况 为什么选择Cassandra?cassandra到底有那些令人印象深刻的特点呢?不防我们先来看下cassandra目前的大体概况。 理论扎实,师出名门 cassandra不仅吸收了dynamo论文中的如何做分布式,如何做副本复制,故障…

编码方法论,赋能你我他

导读 Don Roberts提出的一条重构准则: 第一次做某件事时只管去做;第二次做类似的事时会产生反感,但无论如何还是可以去做;第三次再做类似的事时,你就应该重构。 编码也是如此,当多次编写类似的代码时&…

加速开放混合云技术开发,满足客户新需求,红帽打出这套组合拳!

云计算发展有几十年的历史了,随着科技的进步和发展,云技术慢慢渗透到各行各业,企业上云也不再是新鲜事,据《2020-2026年中国云计算行业市场分析预测及战略咨询研究报告》数据显示:2018年,以IaaS、PaaS和Saa…

使用iframe遇到的问题及解决

记录一下使用iframe遇到的bug 动态的iframe src与返回的bug 场景&#xff1a;iframe嵌入页面&#xff0c;有多个tab&#xff0c;切换tab修改iframe的src&#xff0c;显示不同的页面 <ul><liv-for"tab in tabList":key"tab.tabName"class"t…

系统性能提升利刃 | 缓存技术使用的实践与思考

导读 按照现在流行的互联网分层架构模型&#xff0c;最简单的架构当属Web响应层DB存储层的架构。从最开始的单机混合部署Web和DB&#xff0c;到后来将二者拆分到不同物理机以避免共享机器硬件带来的性能瓶颈&#xff0c;再随着流量的增长&#xff0c;Web应用变为集群部署模式&…

Android 控件 - Button

1、Button 1.1、新建 mybutton 模块 在原有项目基础上新建 mybutton项目 1.2、Button基础 在源码中Button继承TextView&#xff0c;所以TextView有的功能Button基本都有&#xff0c;重复功能不在赘述 1.2.1 设置button背景颜色 当使用background不起作用时&#xff0c…

通过SQL即可让监控分析更简单更高效

1.前言 阿里时序时空数据库TSDB最新推出TSQL&#xff0c;支持标准SQL的语法和函数。用户使用熟悉的SQL&#xff0c;不仅仅查询更简单易用&#xff0c;用户还可以利用SQL强大的功能&#xff0c;实现更加复杂的计算分析。 2. 为什么需要用SQL做时序查询&#xff1f; 2.1 SQL拥…