当前位置 博文首页 > python 如何对Series中的每一个数据做运算

    python 如何对Series中的每一个数据做运算

    作者:石小秀1995 时间:2021-05-25 17:51

    问题描述

    最近~ 发现对series里的元素操作挺复杂的,用for loop + Series.iloc[i]会发生卡死的状况,那么,lambda是解决办法:

    error 1

    ratings['timestamp'] = ratings['timestamp'].apply(ratings['timestamp'].iloc[i].strftime("%Y-%m-%d %H:%M:%S", ts) for i in range(len(ratings)))
    
    TypeError: 'generator' object is not callable
    

    用lambda直接apply,就相当于对每一行的每个元素,逐一apply:

    ratings_sub['timestamp'] = ratings_sub['timestamp'].apply(lambda x:time.strftime('%Y/%m/%d',time.localtime(x)))

    补充:DataFrame与Series数值的运算

    原则一:

    运算结果返回全部出现的索引

    原则二:

    相同索引相加

    原则三:

    任何值与nan做算术运算 结果为nan

    在这里插入图片描述

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持站长博客。

    js
    下一篇:没有了