pandas(3)缺失值重复值以及时间类型的处理

注意:
drop和concat系方法axis=0,axis=1列,其它大多数与之相反
1、描述统计:
(1)查看整体描述统计describe()
(2)数据分组pd.cut()

2、缺失值的表现形式:不区分大小写 NAN nan NaN 都是空
3、怎么创建缺失值:None 或者np.nan
4、pandas处理缺失值

判断

isnull()检测整张表中的缺失值的数据
df.isnull().any(axis=1)判断哪行中有空值 因为是按列的数据统计的 所以axis=1
df.isnull().any(axis=0)判断哪列中有空值。。
df.notnull().all(axis=1)判断哪些行中有非空值。。
df.notnull().all(axis=0)判断哪些列中有非空值。。
df.notnull() True 是非空 False是空值

删除

根据drop函数进行删除
首先要取索引 然后再删除
index=df[df.isnull().any(axis=1)].index
df.drop(labels=index,axis=0)
dropna()直接删

通过布尔取值

df[df.isnull().any(axis=1)] dataframe数据
df[df.notnull().all(axis=1)] 结果是行的结果  但是数据是按列统计的 所以axis=1

dropna() 函数

axis 维度 axis=0 表示行 axis=1 表示列 columns默认为0
how all 表示这一行或者列中全都是空值(nan)才删除
	any表示这一行或者列中至少有一个nan 就删除
thresh 保留至少n个非nan 的行或者列 注意是保留
inplace 筛选以后的新数据是否存为副本 True就是在原数据中直接保存

填充缺失值

fillna()
	value
		用户自己定义值进行空值的填充
	axis参数
		一般和method参数联用 axis=0 表示行 axis=1 表示列
	inplace
		True 表示对元数据进行修改
		False表示不修改 默认是False
	method 
		注意这个参数不能与value同时出现
		method参数的取值 pad/ffill backfill/bfill, None
		pad/ffill:用前一个非缺失值填充到该缺失值
		backfill/bfill:用下一个非空值填充该空值

缺失值的计算

nan可以计算得,缺失值+任何数都等于缺失值nan

替代值 replace

data.replace(‘背包’,‘挎包’) 一对一的替换
data.replace([‘背包’,‘挎包’,‘...’,...],‘挎包’) 多对一的替换
data.replace({‘背包’:‘大大大包’,16:3600,30:5000})多对多替换

删除重复值

df.duplicated()判断重复数据记录 行与行之间进行的比较
df.drop_duplicated()删除的是为True的那一行数据
df.drop_duplicated(‘列名’) 删除列名中值相同的记录
df.drop_duplicated([‘列名1’,‘列名2’]) 删除这两列中数据重复的记录(一整行)
keep 参数
	df.drop_duplicated(‘列名’,keep=‘last’) 如果有重复的话保留最后一个重复值 默认是保留第一个重复值
	df.drop_duplicated(keep=False)删除所有的重复值

获取唯一值

df[‘列名’].unique()
df[‘列名’].nunique()返回的是唯一值的个数

排序
data.sort_valuse(by=‘列名’)默认是升序
data.sort_valuse(by=‘列名’,ascending=False)默认是降序
data.sort_index(ascending=False)
数据类型转换

astype
	df['b'].astype(int)把float类型转换为int类型(b列是float类型)
	有些时候列中数据类型不一致 怎么做数据类型转换
	to_numeric() 可以把特殊的类型数据变成nan
	然后再做空值填充 
	最后使用astype进行类型转换

时间类型的操作

to_datatime
修改日期格式
	data[‘列名’]=pd.to_datatime(data[‘列名’])这个列中的数据一定是可以转换成时间的数据才行
将日期设置成索引
	data.set_index(‘列名’,inplace=True)
进行布尔值判断
	data.index < '2017-3-1'
	或者
	from datatime import datatime
	data.index < datatime(2017,3,1)		
提取整月的数据
	data[data.index.month==1]
转成月或者年或者日
	data.to_period('M') Y D 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pandas是一个Python库,用于数据处理和分析。它提供了许多数运算和缺失处理的功能。数运算包括加、减、乘、除、求和、平均、中位数、最大、最小等。缺失处理包括删除、填充、插等方法。Pandas的数运算和缺失处理功能非常强大,可以帮助我们更好地处理数据。 ### 回答2: Pandas是一种基于Python的开放源代码数据处理工具,它提供了一种灵活而高效的数据结构,可以用来进行数运算与缺失处理。头歌Pandas运算与缺失处理分别如下: 一、头歌Pandas运算 1. 算术运算:Pandas支持加减乘除等算术运算,其中加法和减法在Series和DataFrame数组中都是对齐索引然后在各个位置进行运算。如果某个位置对应的索引在两个数组中都不存在,那么就填充缺失NaN。 2. 统计函数:Pandas提供了一系列的统计函数,例如求和、平均、标准差、方差等。这些函数能够对Series和DataFrame数组中的数进行计算。 3. 位运算:Pandas还支持按位与、按位或、按位异或等位运算,这些函数可以在数据分析和处理中发挥重要作用。 二、头歌Pandas缺失处理 在实际应用中,数据中经常会存在一些缺失,这时候我们需要用Pandas进行缺失处理Pandas提供了以下几种常用的缺失处理方法: 1. isnull()函数:Pandas中的isnull()函数可以判断给定的Series或DataFrame对象中的每一个元素是否为缺失。 2. dropna()函数:dropna()函数可以将包含缺失的行或列从DataFrame中删除。该函数默认删除包含任何缺失的行或列,也可以通过设置参数来控制删除的方式。 3. fillna()函数:fillna()函数可以用指定的数或者方法来填充缺失。该函数可以对Series和DataFrame对象进行操作。 以上是头歌Pandas运算和缺失处理的简单介绍,Pandas具有很强的灵活性和可扩展性,在数据处理和数据分析中发挥着重要的作用。 ### 回答3: Pandas是Python中常用的数据分析库,提供了用于处理表格和时间序列数据的丰富数据结构和函数。Pandas中常见的两种数据结构是Series和DataFrame,其中Series是一维的数据结构,类似于一列数据,而DataFrame则是二维的数据结构,类似于一个表格。 Pandas提供了丰富的数运算函数,可用于对Series和DataFrame中的数据进行数计算和统计分析。例如,可以使用mean()函数计算数据的平均,sum()函数计算数据的总和,std()函数计算数据的标准差等等。Pandas也支持各种运算符和操作符,例如加、减、乘、除、幂等运算。 在进行数运算时,Pandas会自动对缺失NaN进行处理。NaN代表“Not a Number”,可以用于表示缺失或不存在的数据。Pandas提供了一组函数用于处理缺失,例如isna()函数用于判断是否为缺失,fillna()函数用于填充缺失,dropna()函数用于删除包含缺失的行或列。 除了函数之外,Pandas还提供了一些高级的处理缺失的函数,例如interpolate()函数,该函数可以基于数据的已知缺失进行插。此外,Pandas还可以通过使用fillna()函数中的method参数,在保留每列数据中的一些有用信息的同时,填充缺失。 总之,Pandas提供了丰富的数运算和缺失处理函数,使得数据分析变得更加方便和高效。Pandas的强大功能为数据分析提供了更好的可重复性和精度,也为数据科学家和分析师提供了更好的工具和支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值