map,apply,applymap 数据转化

map 用于series值的转化 传入一个映射字典或者一个函数都行

传入字典


传入函数

apply 用于series 和 DataFrame 的转化

Seriesa.apply(function) 函数的参数是每个值
DataFrame.apply(function) 函数的参数是每个series

Seriesa.apply


传入x是series的每个元素

DataFrame.apply


传入的x可以理解为整个df,df在函数里面还可以继续查找某列来进行操作,需要注意的一点就是传入 axis参数, 1 纵向,使用的是一整列,0 横向 一整行

applymap 用于所有值的转化

apply函数的过程

拆分 应用函数 整合


问题

  1. apply的时候,用series来修改数据,生效问题 2020年11月8日
    使用apply的时候,用series对象去修改内部的数据,
    在1.1.13版本中,可以直接修改,但是还存在问题,有些数据修改不了,不知道为啥

在1.0.3中,不行

在使用的func中,加个return可以把修改后的series对象返回给原来的df,需要用新的df变量来接受,

  1. 将一个df对象存进缓存,取出来的时候做空判断
    df = cache.get('df')
    不能直接用if df来判断,df对象不接受bool判断,会报错,
    同时获取到的None对象,类型是个NoneType,也不能用isinstance来判断
    简单的办法就是 is df is None,这样也可以
原文地址:https://www.cnblogs.com/0916m/p/13200114.html