在写某个程序的过程中,需要对特定三列数据的值做同样的运算,运用到了apply方法,做矢量U运算
import pandas as pd
import datetime
date_list=['date_1','date_2’,'date_3','date_4'] #四个关于日期的变量
data[date_list].fillna(0) #将缺失值填充为0
def turn_to_workday(date):
#传入时间参数,将非工作日的日期全部调整到上一个工作日
if isinstance(date,float)==1:
return "-"
else:
d=int(date.strftime("%w")) #返回的表示星期几的数值为字符串格式,转化为整型方便下面的判断;注意0表示星期天。
if d==0:
date=date+datetime.timedelta(-2)
elif d==6:
date = date +datetime.timedelta(-1)
else:
pass
return date
for v in date_list:
data[v]=data[v].apply(turn_to_workday)