jupyter入门之pandas(二)

pandas高级操作


pandas数据处理

1. 删除重复元素

使用duplicated函数检测重复的行,返回元素为布尔类型的Series对象,每个元素对应一行,如果该行不是第一次出现,则元素为True

  • 使用drop_duplicates()函数删除重复的行
  • 使用duplicated()函数查看重复的行
  • 如果使用pd.concat([df1,df2],axis = 1)生成新的DataFrame,新的df中columns相同,使用duplicate()和drop_duplicates()都会出问题
df.duplicated(keep='last')
>>> 0     True
    1    False
    2     True
    3    False
    4    False
    dtype: bool
df.drop_duplicates(keep='last')
# 使用drop函数删除重复元素
df.drop(df[df.duplicated()].index)
2. 映射

映射的含义:创建一个映射关系列表,把values元素和一个特定的标签或者字符串绑定

包含三种操作:

  • replace()函数:替换元素(DataFrame\Series的函数)
  • 最重要:map()函数:新建一列(Series的函数)
  • rename()函数:替换索引(DataFrame的函数)
  • DateFrame可以存在多种数据类型
  • Series、numpy只能存在一种类型
  • DateFrame赋值时如果有None,显示方式取决于该列的数据类型,如果为object,则为None,如果是float,则显示np.nan
1) replace()函数: 替换元素

使用replace()函数,对values进行替换操作

Series替换操作

  • 单值替换
    • 普通替换
    • 字典替换
  • 多值替换
    • 列表替换
    • 字典替换(推荐)
s = Series(data=[np.nan,'小七',19,10])
>>> 0       NaN
    1       小七
    2        19
    3        10
    dtype: object
s.replace(to_replace={
  '小七':'张学友',19:21})
>>> 0    NaN
    1    张学友
    2     21
    3     10
    dtype: object

Series参数说明:

  • method:对指定的值使用相邻的值填充
  • limit:设定填充次数
  • to_replace: 旧值

DataFrame替换操作

  • 单值替换
    • 普通替换
    • 按列指定单值替换{列标签:替换值}
  • 多值替换
    • 列表替换
    • 单字典替换(推荐)
# replace函数中不能接收None对象
df.replace(to_replace=np.nan,value=19)
# 接收键值对
df.replace(to_replace={
  'boy':np.nan},value=True)
# 多值替换
df.replace(to_replace=['tom','tomGG'],value=['TOM','TOMGG'])
# 推荐使用一个能满足所有表格替换目的的字典来进行替换,便于后期维护
df.replace(to_replace={
  'dancer':'DANCER','lucy':
  • 5
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值