千家信息网

如何用R语言和Python进行数据去重与缺失值处理

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,如何用R语言和Python进行数据去重与缺失值处理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。因为最近事情略多,最近更新的不勤了,
千家信息网最后更新 2026年11月02日如何用R语言和Python进行数据去重与缺失值处理

如何用R语言和Python进行数据去重与缺失值处理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

因为最近事情略多,最近更新的不勤了,但是学习的脚步不能停,一旦停下来,有些路就白走了,今天就盘点一下R语言和Python中常用于处理重复值、缺失值的函数。

在R语言中,涉及到数据去重与缺失值处理的函数一共有下面这么几个:

  • unique

  • distinct

  • intersect

  • union

  • duplicated #布尔判断

  • is.na()/!is.na() #缺/非缺失值

  • na.rm=TRUE/FALSE #移除缺失值

  • na.omit(lc) #忽略缺失值

  • complete.cases() #完整值

mydata<-data.frame(A=runif(20,0,100),B=sample(LETTERS[1:5],20,replace=TRUE))

mydata[sample(1:20,5,replace=FALSE),"A"]<-NA #认为构造了5个缺失值。

#unique函数通常用于去重:

unique(mydata$B) #对含有重复值得向量进行去重

dplyr::distinct(mydata,B) #对含有重复值字段的数据框去重

#交集与补集:

dplyr中提供了两个函数可以执行交集与补集操作:

duplicated(mydata$B) #返回重复对象的布尔值

mydata[!duplicated(mydata$B),] #剔除重复值,仅保留唯一值

A=LETTERS[1:10];B=LETTERS[6:15]

intersect(A,B) #交集

unique(A,B) #补集

#缺失值处理:

is.na()/!is.na() #缺/非缺失值判断

is.na(mydata) #返回存在缺失值的布尔结果

!is.na(mydata) #返回非缺失值的布尔结果

na.rm=TRUE/FALSE #移除缺失值

rm.na通常作为基础统计函数的参数使用,如mean,sum等

mean(mydata$A,na.rm=TRUE)

sum(mydata$A,na.rm=TRUE)

na.omit(mydata) #忽略缺失值所在行

complete.cases(mydata) #完整值(返回布尔结果)

mydata[!complete.cases(mydata$A),]#使用该函数的布尔索引确定缺失值或者排除缺失值

关于更为复杂的缺失值插补技术,因为涉及到一些比较深入的方法,这里暂且不呈现,仅对缺失值的描述和筛选做以上简单归总。

---------

Python:

---------

#列表去重:

set(将列表元组化过滤重复数据)

M=[1,4,3,6,5,4,3,2,7,8]

list(set(M))

#数据框的去重:

import pandas as pd

import numpy as np

mydata=pd.DataFrame({

"A":["A","B","C","D","B","C"],

"B":[43,32,56,67,32,56]

})

mydata.drop_duplicates()

#使用pandas提供的数据框去重函数drop_duplicates去重重复值。

#缺失值处理:

对于列表而言,numpy中诸多统计函数都有针对缺失值的操作:

nansum/nanmean/nanmin/nanmax

val= np.array([5,np.nan,8,9,np.nan])

np.nansum(val)

np.nanmean(val)

np.nanmin(val)

np.nanmax(val)

pandas中的序列和数据框都有固定的缺失值检测、描述、差值方法:

myserie=pd.Series(["A","B",np.nan,"C"])

mydata=pd.DataFrame({

"A":["A","B","C","D","E","F"],

"B":[43,np.nan,56,67,np.nan,56]

})

#检测缺失值:

myserie.isnull()

mydata.isnull()

#返回非缺失值:

myserie.notnull()

mydata.notnull()

#过滤缺失值:

myserie.dropna()

mydata.dropna()

#针对数据框而言,默认情况下,dropna丢弃含有缺失值的行。

mydata.dropna(how="all",axis=1) #丢弃含有缺失值的行或者列

#缺失值填充:

fillna函数一共两个参数:

  • value表示要插补的值

  • method表示缺失值插补方法

myserie.fillna(0)

mydata.fillna(0)

------------

本文小结:

------------

R语言:

数值去重:

  • unique

  • distinct

  • intersect

  • union

  • duplicated

缺失值处理:

  • is.na()/!is.na()

  • na.rm=TRUE/FALSE

  • na.omit(lc)

  • complete.cases()

Python:

重复值:

  • set(针对列表通过元组过滤)

  • drop_duplicates(针对pandas中的序列和数据框)

缺失值处理:

  • nansum/nanmean/nanmin/nanmax

  • isnull

  • dropna

  • fillna

关于如何用R语言和Python进行数据去重与缺失值处理问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

缺失 数据 函数 处理 布尔 语言 方法 交集 结果 问题 两个 参数 序列 更多 帮助 检测 统计 解答 中常 复杂 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 盈实互联网科技 互联网下的科技发展 亿策互联网科技 互联网科技股午盘股票涨跌 互联网科技公司的市场部门 北京三清互联网科技 深圳前海聚择互联网科技有限公司 北京华百购互联网科技有限公司 受益于互联网科技的高速发展 速维有品互联网信息科技(苏州)有限公司 长沙茂晟互联网科技有限公司 科技赋能视角下互联网保险发展 国大互联网教育科技有限公司薪资 怎样加入科技互联网 智帮互联网科技公司最近动向 云鲸互联网络科技有限公司 中国新注册互联网科技 互联网科技对化妆品行业 株洲百竞科技的互联网营销顾问 互联网络科技 博彦科技互联网金融 北京路客互联网科技有限公司 互联网科技战争 常德市电业局互联网科技部 岳阳华臻互联网科技有限公司 互联网界的黑科技 长沙渺峰互联网科技有限公司 科技和互联网行业的特点 利用互联网等科技手段
0