问题描述

最近~ 发现对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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。