pandas数据的处理

本文介绍了如何在Pandas中处理数据,包括删除空值、处理空值以及去除重复数据。删除空值时,可以使用`dropna()`方法,默认删除包含空值的行,而`dropna(how='all')`会删除全为空值的行。处理空值可选择直接删除或使用`fillna()`填充。对于重复数据,`duplicated()`函数用于检测重复行,`drop_duplicates()`则用于删除这些重复行,也可指定特定列进行去重。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

删除数据

删除空值

如果文件的单元格中没有值时,在使用pandas读取后就会用NaN表示,也就是我们常说的空值。

# 在NumPy模块中提供了nan的值,如果你想要创建一个空值,可以使用下方代码:
from numpy import nan as NaN

需要注意的是,NaN比较特殊点就是其本身是一种float类型数据。当NaN参与到数据计算中,最终的结果永远都是NaN

对于大批量的Series数据,使用肉眼很难判断空值的存在,这时我们可以先对空值进行过滤。

from numpy import nan as NaN
import pandas as pd
se=pd.Series([4,NaN,8,NaN,5])
print(se.notnull()) # 判断是否是空值
print(se[se.notnull()]) # 将空值过滤掉
0     True
1    False
2     True
3    False
4     True
dtype: bool
0    4.0
2    8.0
4    5.0
dtype: float64

在DataFrame类型数据中,一般我们会将存在NaN的数据使用dropna()方法全部删掉:

df1 = df.dropna()

dropna()是删除空值数据的方法,默认将只要含有NaN的数据整行删掉;如果想要删除整行都是空值的数据需要添加how='all'参数。如果想要对列做删除操作,需要添加axis参数,axis=1表示列,axis=0表示行。也可以使用thresh参数筛选想要删除的数据,thresh=n意思是若这一行非NaN数据至少有n个,则保留该行。

from numpy import nan as Nah
import pandas as pd
df_dict = {
   
	'name':['ZhangSan','LiSi','WangWu','ZhaoLiu'],
	'age':['18','20',Nah,'22'],
	'weight':[Nah,'55','60','80']
}
df = pd.DataFrame(data=df_dict,index=['001','002','003','004'])
print(df)
         name  age weight
001  ZhangSan   18    NaN
002      LiSi   20     55
003    WangWu  NaN     60
004   ZhaoLiu   22     80
df1=df.dropna()
d
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值