1、将test中date分解成多列
pd.concat([test, test['date'].str.split('-', expand=True)], axis=1)
此时的test增加了三列,但是,加的列没有名称,这时,修改列名。
修改date名为5
test.rename(columns={'date':'5'}, inplace = True)
2、对于年这类位数比较大的数,一个阶段分为一类。
#查看各个数值分布。
target.value_counts()
def year(x):
if 1920<=x<=1930:
return 0
elif 1930<x<=1940:
return 1
elif 1940<x<=1950:
return 2
elif 1950<x<=1960:
return 3
elif 1960<x<=1970:
return 4
elif 1970<x<=1980:
return 5
elif 1980<x<=1990:
return 6
elif 1990<x<=2000:
return 7
feature["year"]=feature["year"].map(year)
3、假如年月日为一列,将其分解为年,月...
feature['date'] = pd.to_datetime(feature['date'],format='%Y-%m-%d %H:%M:%S')
#这里的format主要看date里面的形式,若只有年月日,则是format='%Y-%m-%d'
#为了更好的寻找规律,可以将日变成星期。
feature["weekday"]=feature["date"].dt.weekday
feature["year"]=feature["date"].dt.year
feature["month"]=feature["date"].dt.month
4、为了数据处理方便,可以将train和test结合为一个表。
feature = pd.concat((train,test),axis=0)