越来越考虑效率的问题了,以前写代码只要能够实现自己想要的功能就行,现在,既要实现自己想要的功能,又追求高的效率,也许,在码农的道路上,越走越远了(_-_)
原始数据如下:
计算那一天是月初,原先使用的方法为:在这种情况下,遍历pandas,明显效率很不高
def get_yuechu(data): for i in range(len(data)): if i>1 and str(data.ix[i,'date'])[5:7]!=str(data.ix[i-1,'date'])[5:7]: data.ix[i,'yuechu']=True else: data.ix[i,'yuechu']=False return data
接下来对计算那天是月初的方法做了改进,改进之后,效率有了明显的提升
def get_yuechu(data): data['date_yue']=[i[5:7] for i in data['date']] data['yestoday_yue']=data['date_yue'].shift(1) data['yuechu']=np.where(data['date_yue']!=data['yestoday_yue'],True,False) return data