pandas 处理函数

阅读 46

2022-01-13

单列:

"""
    判断名企
"""
def get_c_isFamousCompany_clear(x):
    x = str(x)
    strlist = x.split(',')
    for  name in  strlist:
        for s in famousSet:
            if  x.find(s) != -1:
                return 1
    return 0

多列:计算年限

def get_c_workyear(x,y):
    x = str(x)
    y = str(y)
    xlist = x.split(',')
    ylist = y.split(',')
    if len(xlist) != len(ylist):
        return 0;
    days =0
    for i in range(0, len(xlist)):
        if ylist[i] =='2888-08-08':
            ylist[i]=datetime.now().strftime('%Y-%m-%d')
        days = days + (pd.Period(ylist[i], freq="D") - pd.Period(xlist[i], freq="D")).n
        

    days = (int)(days /365) +1
    return days

 df["isFamous"] =df["company"].fillna(-1).apply(lambda x: get_c_isFamousCompany_clear(x))
 df["workyear"] = df.apply(lambda row: get_c_workyearnew(row.c_work_startdate, row.c_work_enddate), axis=1)

精彩评论(0)

0 0 举报