python中数据清洗_dropon

python中数据清洗_dropon实际应用中,在得到原始数据时,经常碰到数据缺失问题,对数据进行加工或清洗就非常有必要了importnumpyasnpfromnumpyimportnanimportpandasaspddata=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list(‘abcd’))print(data)print(data.i…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

实际应用中,在得到原始数据时,经常碰到数据缺失问题,对数据进行加工或清洗就非常有必要了

import numpy as np
from numpy import nan
import pandas as pd
data=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
print(data)
print(data.isnull())   ### 查看data是否有缺失值(空值),False无缺失值
pritn(data.notnull())  ### 查看data是否有缺失值(空值),True无缺失值
输出结果:
    0   1   2   3
a   3   4   5   6
b   7   8   9  10
c  11  12  13  14
d  15  16  17  18
       0      1      2      3
a  False  False  False  False
b  False  False  False  False
c  False  False  False  False
d  False  False  False  False
      0     1     2     3
a  True  True  True  True
b  True  True  True  True
c  True  True  True  True
d  True  True  True  True
print(data.drop('a'))        ### 默认参数axis=0,根据索引(index)删除指定的行
print(data.drop(1,axis=1)    ### axis=1,根据列名(columns)删除指定的列
    0   1   2   3
b   7   8   9  10
c  11  12  13  14
d  15  16  17  18
    0   2   3
a   3   5   6
b   7   9  10
c  11  13  14
d  15  17  18
print(data.drop(index=list('ac')))         ### 删除索引为‘ac’这2行,或print(data.drop(index=['a','c']))
print(data.drop([1,3],axis=1))             ### 删除列名为‘13’这2列
    0   1   2   3
b   7   8   9  10
d  15  16  17  18
    0   2
a   3   5
b   7   9
c  11  13
d  15  17
data.iloc[0:2,0:3]=nan  ### 取data前2行和前3列为空值
print(data)
print(data.isnull())    ### True为有缺失值
      0     1     2   3
a   NaN   NaN   NaN   6
b   NaN   NaN   NaN  10
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
       0      1      2      3
a   True   True   True  False
b   True   True   True  False
c  False  False  False  False
d  False  False  False  False
print(data.dropna())  ### 默认axis=0,how='any',删除带有空值的行,只要有一个空值,就删除整行
      0     1     2   3
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
print(data.dropna(axis=1)) ### axis=1,删除带有空值的列,只要有一个空值,就删除整列
    3
a   6
b  10
c  14
d  18
data=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
print(data)
data.iloc[0:1,:]=nan
data[3]=nan
print(data)
      0     1     2   3
a   NaN   NaN   NaN NaN
b   7.0   8.0   9.0 NaN
c  11.0  12.0  13.0 NaN
d  15.0  16.0  17.0 NaN
print(data.dropna(how='all'))       ### 整行都是空值时,才会被删除
      0     1     2   3
b   7.0   8.0   9.0 NaN
c  11.0  12.0  13.0 NaN
d  15.0  16.0  17.0 NaN
print(data.dropna(how='all',axis=1))    ### 整列都是空值时,才会被删除
      0     1     2
a   NaN   NaN   NaN
b   7.0   8.0   9.0
c  11.0  12.0  13.0
d  15.0  16.0  17.0
### thresh,设定阈值,缺失值个数大于该阈值,整行(axis=0)或整列(axis=1)才会被删除

print(data.dropna(thresh=2)) ### thresh=2,缺失值个数大于2,该行才会被删
      0     1     2   3
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
print(data.dropna(subset=[1,2]))  ### 删除指定列中包含缺失值的行
      0     1     2   3
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192632.html原文链接:https://javaforall.net

(0)
上一篇 2025年12月11日 上午11:22
下一篇 2025年12月11日 下午12:01


相关推荐

  • CFAR原理详解及其matlab代码实现

    CFAR原理详解及其matlab代码实现雷达 目标检测

    2026年3月18日
    2
  • Java Array、List、Set互相转化

    Java Array、List、Set互相转化JavaArrayListSet互相转化ArrayListSet互转实例1ArrayList互转2ListSet互转3ArraySet互转ArraysasList和CollectiontoArrayJavaArray、List、Set互相转化1.Array、List、Set互转实例1.1Array、List互转Array转ListString[]s=newSt

    2022年6月21日
    32
  • 2022年Redis最新面试题第6篇 – Redis淘汰策略「建议收藏」

    2022年Redis最新面试题第6篇 – Redis淘汰策略「建议收藏」Redis过期键的删除策略?出现概率:★★★★Redis过期键的删除策略是:定期删除+惰性删除。1)、关于定期删除,Redis默认会每隔100ms就随机选取一些已经过期了的key,检查其是否过期,如果已经过期就删除。不过假设Redis里放了100w个key,而且都设置了过期时间,你每隔几百毫秒,就检查100w个key,那Redis基本上就卡死了,cpu负载也会很高的,基本都消耗在检查过期key上了。注意,这里可不是每隔100ms就遍历所有的设置过期时间的key,那样就是一场性能上的灾难。实际情况是每

    2022年10月21日
    5
  • C语言中按位取反_数组按位取反

    C语言中按位取反_数组按位取反与运算:&两者都为1为1,否则为01&1=1, 1&0=0, 0&1=0, 0&0=0或运算:|两者都为0为0,否则为11|1=1, 1|0=1, 0|1=1,0|0=0非运算:~1取0,0取1~1=0,~0=1~(10001)=01110异或运算两者相等为0,不等为11^1=0,

    2022年8月15日
    16
  • 神经网络 – BP神经网络与RBF神经网络模型解决实际问题 – (Matlab建模)

    神经网络 – BP神经网络与RBF神经网络模型解决实际问题 – (Matlab建模)目录神经网络模型简述实例:交通运输能力预测设计MATLAB程序及仿真结果由于货物运输、地方经济及企业发展的紧密联系,因此作为反映货物运输需求的一项重要指标,货运量预测研究和分析具有较强的实际意义。常用的货运量预测方法包括时间序列方法、移动平滑法、指数平滑和随机时间序列方法、相关(回归)分析法、灰色预测方法和作为多种方法综合的组合预测方法等.这些方法大都集中在对…

    2025年7月2日
    5
  • Word2vec原理及其Python实现「建议收藏」

    Word2vec原理及其Python实现「建议收藏」目录一、为什么需要WordEmbedding二、Word2vec原理1、CBOW模型2、Skip-gram模型三、行业上已有的预训练词向量四、用Python训练自己的Word2vec词向量一、为什么需要WordEmbedding在NLP(自然语言处理)里面,最细粒度的是词语,词语组成句子,句子再组成段落、篇章、文档。所以要处理NLP的问题,首先就要拿词语开刀…

    2022年5月17日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号