问题描述
最近~ 发现对series里的元素操作挺复杂的,用for loop + Series.iloc[i]会发生卡死的状况,那么,lambda是解决办法:
error 1
1
2
3
|
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:
1
|
ratings_sub[ 'timestamp' ] = ratings_sub[ 'timestamp' ]. apply ( lambda x:time.strftime( '%Y/%m/%d' ,time.localtime(x))) |
补充:DataFrame与Series数值的运算
原则一:
运算结果返回全部出现的索引
原则二:
相同索引相加
原则三:
任何值与nan做算术运算 结果为nan
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_43852674/article/details/86851347