import numpy as np
import pandas as pd
import warnings
warnings.filterwarnings("ignore")

给大家写了35个函数,我们逐个来看一下

#最近p个月,inv>0的月份数
def Num(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value=np.where(df>0,1,0).sum(axis=1)return inv+'_num'+str(p),auto_value#最近p个月,inv=0的月份数
def Nmz(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value=np.where(df==0,1,0).sum(axis=1)return inv+'_nmz'+str(p),auto_value#最近p个月,inv>0的月份数是否>=1
def Evr(inv,p):df=data.loc[:,inv+'1':inv+str(p)]arr=np.where(df>0,1,0).sum(axis=1)auto_value = np.where(arr,1,0)return inv+'_evr'+str(p),auto_value    #最近p个月,inv均值
def Avg(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value=np.nanmean(df,axis = 1 )return inv+'_avg'+str(p),auto_value    #最近p个月,inv和
def Tot(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value=np.nansum(df,axis = 1)return inv+'_tot'+str(p),auto_value  #最近(2,p+1)个月,inv和
def Tot2T(inv,p):df=data.loc[:,inv+'2':inv+str(p+1)]auto_value=df.sum(1)return inv+'_tot2t'+str(p),auto_value  #最近p个月,inv最大值
def Max(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value=np.nanmax(df,axis = 1)return inv+'_max'+str(p),auto_value #最近p个月,inv最小值
def Min(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value=np.nanmin(df,axis = 1)return inv+'_min'+str(p),auto_value #最近p个月,最近一次inv>0到现在的月份数def Msg(inv,p):df=data.loc[:,inv+'1':inv+str(p)]df_value=np.where(df>0,1,0)auto_value=[]for i in range(len(df_value)):row_value=df_value[i,:]if row_value.max()<=0:indexs='0'auto_value.append(indexs)else:indexs=1for j in row_value:if j>0:breakindexs+=1auto_value.append(indexs)return inv+'_msg'+str(p),auto_value#最近p个月,最近一次inv=0到现在的月份数
def Msz(inv,p):df=data.loc[:,inv+'1':inv+str(p)]df_value=np.where(df==0,1,0)auto_value=[]for i in range(len(df_value)):row_value=df_value[i,:]if row_value.max()<=0:indexs='0'auto_value.append(indexs)else:indexs=1for j in row_value:if j>0:breakindexs+=1auto_value.append(indexs)return inv+'_msz'+str(p),auto_value   #当月inv/(最近p个月inv的均值)
def Cav(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value = df[inv+'1']/np.nanmean(df,axis = 1 ) return inv+'_cav'+str(p),auto_value #当月inv/(最近p个月inv的最小值)
def Cmn(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value = df[inv+'1']/np.nanmin(df,axis = 1 ) return inv+'_cmn'+str(p),auto_value #最近p个月,每两个月间的inv的增长量的最大值
def Mai(inv,p):arr=np.array(data.loc[:,inv+'1':inv+str(p)])     auto_value = []for i in range(len(arr)):df_value = arr[i,:]value_lst = []for k in range(len(df_value)-1):minus = df_value[k] - df_value[k+1]value_lst.append(minus)auto_value.append(np.nanmax(value_lst))     return inv+'_mai'+str(p),auto_value #最近p个月,每两个月间的inv的减少量的最大值
def Mad(inv,p):arr=np.array(data.loc[:,inv+'1':inv+str(p)])      auto_value = []for i in range(len(arr)):df_value = arr[i,:]value_lst = []for k in range(len(df_value)-1):minus = df_value[k+1] - df_value[k]value_lst.append(minus)auto_value.append(np.nanmax(value_lst))     return inv+'_mad'+str(p),auto_value #最近p个月,inv的标准差
def Std(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value=np.nanstd(df,axis = 1)return inv+'_std'+str(p),auto_value #最近p个月,inv的变异系数
def Cva(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value=np.nanstd(df,axis = 1 )/np.nanmean(df,axis = 1)return inv+'_cva'+str(p),auto_value #(当月inv) - (最近p个月inv的均值)
def Cmm(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value = df[inv+'1'] - np.nanmean(df,axis = 1 ) return inv+'_cmm'+str(p),auto_value #(当月inv) - (最近p个月inv的最小值)
def Cnm(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value = df[inv+'1'] - np.nanmin(df,axis = 1 ) return inv+'_cnm'+str(p),auto_value #(当月inv) - (最近p个月inv的最大值)
def Cxm(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value = df[inv+'1'] - np.nanmax(df,axis = 1 ) return inv+'_cxm'+str(p),auto_value #( (当月inv) - (最近p个月inv的最大值) ) / (最近p个月inv的最大值) )
def Cxp(inv,p):df=data.loc[:,inv+'1':inv+str(p)]temp = np.nanmin(df,axis = 1 )auto_value = (df[inv+'1'] - temp )/ tempreturn inv+'_cxp'+str(p),auto_value #最近p个月,inv的极差
def Ran(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value = np.nanmax(df,axis = 1 )  -  np.nanmin(df,axis = 1 ) return inv+'_ran'+str(p),auto_value #最近min( Time on book,p )个月中,后一个月相比于前一个月增长了的月份数
def Nci(inv,p):arr=np.array(data.loc[:,inv+'1':inv+str(p)])     auto_value = []for i in range(len(arr)):df_value = arr[i,:]value_lst = []for k in range(len(df_value)-1):minus = df_value[k] - df_value[k+1]value_lst.append(minus)           value_ng = np.where(np.array(value_lst)>0,1,0).sum()auto_value.append(np.nanmax(value_ng))     return inv+'_nci'+str(p),auto_value #最近min( Time on book,p )个月中,后一个月相比于前一个月减少了的月份数
def Ncd(inv,p):arr=np.array(data.loc[:,inv+'1':inv+str(p)])     auto_value = []for i in range(len(arr)):df_value = arr[i,:]value_lst = []for k in range(len(df_value)-1):minus = df_value[k] - df_value[k+1]value_lst.append(minus)           value_ng = np.where(np.array(value_lst)<0,1,0).sum()auto_value.append(np.nanmax(value_ng))     return inv+'_ncd'+str(p),auto_value #最近min( Time on book,p )个月中,相邻月份inv 相等的月份数
def Ncn(inv,p):arr=np.array(data.loc[:,inv+'1':inv+str(p)])     auto_value = []for i in range(len(arr)):df_value = arr[i,:]value_lst = []for k in range(len(df_value)-1):minus = df_value[k] - df_value[k+1]value_lst.append(minus)           value_ng = np.where(np.array(value_lst)==0,1,0).sum()auto_value.append(np.nanmax(value_ng))     return inv+'_ncn'+str(p),auto_value    #If  最近min( Time on book,p )个月中,对任意月份i ,都有 inv[i] > inv[i+1] ,
#即严格递增,且inv > 0则flag = 1 Else flag = 0
def Bup(inv,p):arr=np.array(data.loc[:,inv+'1':inv+str(p)])     auto_value = []for i in range(len(arr)):df_value = arr[i,:]value_lst = []index = 0for k in range(len(df_value)-1):if df_value[k] > df_value[k+1]:breakindex =+ 1if index == p:            value= 1    else:value = 0auto_value.append(value)     return inv+'_bup'+str(p),auto_value   #If  最近min( Time on book,p )个月中,对任意月份i ,都有 inv[i] < inv[i+1] ,
#即严格递减,且inv > 0则flag = 1 Else flag = 0
def Pdn(inv,p):arr=np.array(data.loc[:,inv+'1':inv+str(p)])     auto_value = []for i in range(len(arr)):df_value = arr[i,:]value_lst = []index = 0for k in range(len(df_value)-1):if df_value[k+1] > df_value[k]:breakindex =+ 1if index == p:            value= 1    else:value = 0auto_value.append(value)     return inv+'_pdn'+str(p),auto_value            #最近min( Time on book,p )个月,inv的修剪均值
def Trm(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value = []for i in range(len(df)):trm_mean = list(df.loc[i,:])trm_mean.remove(np.nanmax(trm_mean))trm_mean.remove(np.nanmin(trm_mean))temp=np.nanmean(trm_mean) auto_value.append(temp)return inv+'_trm'+str(p),auto_value #( 当月inv - 最近p个月的inv最大值 ) / 最近p个月的inv中的最大值
def Cmx(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value = (df[inv+'1'] - np.nanmax(df,axis = 1 )) /np.nanmax(df,axis = 1 ) return inv+'_cmx'+str(p),auto_value #( 当月inv - 最近p个月的inv均值 ) / inv均值
def Cmp(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value = (df[inv+'1'] - np.nanmean(df,axis = 1 )) /np.nanmean(df,axis = 1 ) return inv+'_cmp'+str(p),auto_value #( 当月inv - 最近p个月的inv最小值 ) /inv最小值
def Cnp(inv,p):df=data.loc[:,inv+'1':inv+str(p)]auto_value = (df[inv+'1'] - np.nanmin(df,axis = 1 )) /np.nanmin(df,axis = 1 ) return inv+'_cnp'+str(p),auto_value #最近min( Time on book,p )个月取最大值的月份距现在的月份数
def Msx(inv,p):df=data.loc[:,inv+'1':inv+str(p)]df['_max'] = np.nanmax(df,axis = 1)for i in range(1,p+1):df[inv+str(i)] = list(df[inv+str(i)] == df['_max'])del df['_max']df_value = np.where(df==True,1,0)auto_value=[]for i in range(len(df_value)):row_value=df_value[i,:]indexs=1for j in row_value:if j == 1:breakindexs+=1auto_value.append(indexs)return inv+'_msx'+str(p),auto_value#最近p个月的均值/((p,2p)个月的inv均值)
def Rpp(inv,p):df1=data.loc[:,inv+'1':inv+str(p)]value1=np.nanmean(df1,axis = 1 )df2=data.loc[:,inv+str(p):inv+str(2*p)]value2=np.nanmean(df2,axis = 1 )   auto_value = value1/value2return inv+'_rpp'+str(p),auto_value    #最近p个月的均值 - ((p,2p)个月的inv均值)
def Dpp(inv,p):df1=data.loc[:,inv+'1':inv+str(p)]value1=np.nanmean(df1,axis = 1 )df2=data.loc[:,inv+str(p):inv+str(2*p)]value2=np.nanmean(df2,axis = 1 )   auto_value = value1 - value2return inv+'_dpp'+str(p),auto_value   #(最近p个月的inv最大值)/ (最近(p,2p)个月的inv最大值)
def Mpp(inv,p):df1=data.loc[:,inv+'1':inv+str(p)]value1=np.nanmax(df1,axis = 1 )df2=data.loc[:,inv+str(p):inv+str(2*p)]value2=np.nanmax(df2,axis = 1 )   auto_value = value1/value2return inv+'_mpp'+str(p),auto_value  #(最近p个月的inv最小值)/ (最近(p,2p)个月的inv最小值)
def Npp(inv,p):df1=data.loc[:,inv+'1':inv+str(p)]value1=np.nanmin(df1,axis = 1 )df2=data.loc[:,inv+str(p):inv+str(2*p)]value2=np.nanmin(df2,axis = 1 )   auto_value = value1/value2return inv+'_npp'+str(p),auto_value  

下面定义一个函数,直接封装上面的全部函数

 #首先执行下面的全部函数 #定义批量调用双参数的函数
def auto_var2(inv,p):#global data_newtry:columns_name,values=Num(inv,p)data_new[columns_name]=valuesexcept:print("Num PARSE ERROR",inv,p)try:columns_name,values=Nmz(inv,p)data_new[columns_name]=valuesexcept:print("Nmz PARSE ERROR",inv,p)try:columns_name,values=Evr(inv,p)data_new[columns_name]=valuesexcept:print("Evr PARSE ERROR",inv,p)try:columns_name,values=Avg(inv,p)data_new[columns_name]=valuesexcept:print("Avg PARSE ERROR",inv,p)try:columns_name,values=Tot(inv,p)data_new[columns_name]=valuesexcept:print("Tot PARSE ERROR",inv,p) try:columns_name,values=Tot2T(inv,p)data_new[columns_name]=valuesexcept:print("Tot2T PARSE ERROR",inv,p)        try:columns_name,values=Max(inv,p)data_new[columns_name]=valuesexcept:print("Max PARSE ERROR",inv,p)try:columns_name,values=Min(inv,p)data_new[columns_name]=valuesexcept:print("Min PARSE ERROR",inv,p)try:columns_name,values=Msg(inv,p)data_new[columns_name]=valuesexcept:print("Msg PARSE ERROR",inv,p)try:columns_name,values=Msz(inv,p)data_new[columns_name]=valuesexcept:print("Msz PARSE ERROR",inv,p)try:columns_name,values=Cav(inv,p)data_new[columns_name]=valuesexcept:print("Cav PARSE ERROR",inv,p)try:columns_name,values=Cmn(inv,p)data_new[columns_name]=valuesexcept:print("Cmn PARSE ERROR",inv,p)           try:columns_name,values=Mai(inv,p)data_new[columns_name]=valuesexcept:print("Mai PARSE ERROR",inv,p)    try:columns_name,values=Mad(inv,p)data_new[columns_name]=valuesexcept:print("Mad PARSE ERROR",inv,p)try:columns_name,values=Std(inv,p)data_new[columns_name]=valuesexcept:print("Std PARSE ERROR",inv,p)   try:columns_name,values=Cva(inv,p)data_new[columns_name]=valuesexcept:print("Cva PARSE ERROR",inv,p)   try:columns_name,values=Cmm(inv,p)data_new[columns_name]=valuesexcept:print("Cmm PARSE ERROR",inv,p)  try:columns_name,values=Cnm(inv,p)data_new[columns_name]=valuesexcept:print("Cnm PARSE ERROR",inv,p)         try:columns_name,values=Cxm(inv,p)data_new[columns_name]=valuesexcept:print("Cxm PARSE ERROR",inv,p)          try:columns_name,values=Cxp(inv,p)data_new[columns_name]=valuesexcept:print("Cxp PARSE ERROR",inv,p)try:columns_name,values=Ran(inv,p)data_new[columns_name]=valuesexcept:print("Ran PARSE ERROR",inv,p)try:columns_name,values=Nci(inv,p)data_new[columns_name]=valuesexcept:print("Nci PARSE ERROR",inv,p)try:columns_name,values=Ncd(inv,p)data_new[columns_name]=valuesexcept:print("Ncd PARSE ERROR",inv,p)try:columns_name,values=Ncn(inv,p)data_new[columns_name]=valuesexcept:print("Ncn PARSE ERROR",inv,p)try:columns_name,values=Bup(inv,p)data_new[columns_name]=valuesexcept:print("Bup PARSE ERROR",inv,p)try:columns_name,values=Pdn(inv,p)data_new[columns_name]=valuesexcept:print("Pdn PARSE ERROR",inv,p) try:columns_name,values=Trm(inv,p)data_new[columns_name]=valuesexcept:print("Trm PARSE ERROR",inv,p)  try:columns_name,values=Cmx(inv,p)data_new[columns_name]=valuesexcept:print("Cmx PARSE ERROR",inv,p)         try:columns_name,values=Cmp(inv,p)data_new[columns_name]=valuesexcept:print("Cmp PARSE ERROR",inv,p)   try:columns_name,values=Cnp(inv,p)data_new[columns_name]=valuesexcept:print("Cnp PARSE ERROR",inv,p) try:columns_name,values=Msx(inv,p)data_new[columns_name]=valuesexcept:print("Msx PARSE ERROR",inv,p)try:columns_name,values=Rpp(inv,p)data_new[columns_name]=valuesexcept:print("Rpp PARSE ERROR",inv,p)try:columns_name,values=Dpp(inv,p)data_new[columns_name]=valuesexcept:print("Dpp PARSE ERROR",inv,p)try:columns_name,values=Mpp(inv,p)data_new[columns_name]=valuesexcept:print("Mpp PARSE ERROR",inv,p)try:columns_name,values=Npp(inv,p)data_new[columns_name]=valuesexcept:print("Npp PARSE ERROR",inv,p)return data_new.columns.size

然后我们用一个小demo来实验一下

import pandas as pd
#data是配好特征和标签的原始数据集
data = pd.read_excel('/Users/zhucan/Desktop/金融风控实战/第三课资料/textdata.xlsx')
data
""" ft 和 gt 表示两个变量名 1-12 表示对应12个月中每个月的相应数值  2019.4.18-2019.5.18"""
'''ft1 指的是 离申请当天一个月内的数据计算出来的加油次数  2019.3.18-2019.4.18'''
'''ft2 指的是 离申请当天30天到60天内的数据计算出的ft'''
'''gt1 指的是 离申请当天一个月内的数据计算出来的加油金额'''

data.columns
#Index(['customer_id', 'ft1', 'ft2', 'ft3', 'ft4', 'ft5', 'ft6', 'ft7', 'ft8',
#       'ft9', 'ft10', 'ft11', 'ft12', 'TOB', 'gt1', 'gt2', 'gt3', 'gt4', 'gt5',
#       'gt6', 'gt7', 'gt8', 'gt9', 'gt10', 'gt11', 'gt12'],
#      dtype='object')
data_new = data.copy()
p = 4
inv = 'ft'
auto_data = pd.DataFrame()
for p in range(1,13):for inv in ['ft','gt']:auto_var2(inv,p)
# Mai PARSE ERROR ft 1
# Mad PARSE ERROR ft 1
# Trm PARSE ERROR ft 1
# Mai PARSE ERROR gt 1
# Mad PARSE ERROR gt 1
# Trm PARSE ERROR gt 1
# Trm PARSE ERROR ft 2
# Trm PARSE ERROR gt 2
# Rpp PARSE ERROR ft 7
# Dpp PARSE ERROR ft 7
# Mpp PARSE ERROR ft 7
# Npp PARSE ERROR ft 7
# Rpp PARSE ERROR gt 7
# Dpp PARSE ERROR gt 7
# Mpp PARSE ERROR gt 7
# Npp PARSE ERROR gt 7
# Rpp PARSE ERROR ft 8
# Dpp PARSE ERROR ft 8
# Mpp PARSE ERROR ft 8
# Npp PARSE ERROR ft 8
# Rpp PARSE ERROR gt 8
# Dpp PARSE ERROR gt 8
# Mpp PARSE ERROR gt 8
# Npp PARSE ERROR gt 8
# Rpp PARSE ERROR ft 9
# Dpp PARSE ERROR ft 9
# Mpp PARSE ERROR ft 9
# Npp PARSE ERROR ft 9
# Rpp PARSE ERROR gt 9
# Dpp PARSE ERROR gt 9
# Mpp PARSE ERROR gt 9
# Npp PARSE ERROR gt 9
# Rpp PARSE ERROR ft 10
# Dpp PARSE ERROR ft 10
# Mpp PARSE ERROR ft 10
# Npp PARSE ERROR ft 10
# Rpp PARSE ERROR gt 10
# Dpp PARSE ERROR gt 10
# Mpp PARSE ERROR gt 10
# Npp PARSE ERROR gt 10
# Rpp PARSE ERROR ft 11
# Dpp PARSE ERROR ft 11
# Mpp PARSE ERROR ft 11
# Npp PARSE ERROR ft 11
# Rpp PARSE ERROR gt 11
# Dpp PARSE ERROR gt 11
# Mpp PARSE ERROR gt 11
# Npp PARSE ERROR gt 11
# Tot2T PARSE ERROR ft 12
# Rpp PARSE ERROR ft 12
# Dpp PARSE ERROR ft 12
# Mpp PARSE ERROR ft 12
# Npp PARSE ERROR ft 12
# Tot2T PARSE ERROR gt 12
# Rpp PARSE ERROR gt 12
# Dpp PARSE ERROR gt 12
# Mpp PARSE ERROR gt 12
# Npp PARSE ERROR gt 12
data_new.shape
#(5, 808)
data_new.columns
#Index(['customer_id', 'ft1', 'ft2', 'ft3', 'ft4', 'ft5', 'ft6', 'ft7', 'ft8',
#       'ft9',
#       ...
#       'gt_nci12', 'gt_ncd12', 'gt_ncn12', 'gt_bup12', 'gt_pdn12', 'gt_trm12',
#       'gt_cmx12', 'gt_cmp12', 'gt_cnp12', 'gt_msx12'],
#      dtype='object', length=808)

金融风控实战——基于时间序列进行特征衍生相关推荐

  1. 金融风控实战——特征工程上

    特征工程 业务建模流程 将业务抽象为分类or回归问题 定义标签,得到y 选取合适的样本,并匹配出全部的信息作为特征来源 特征工程+模型训练+模型评价与调优(相互之间可能会有交互) 输出模型报告 上线与 ...

  2. 金融风控实战入门-特征工程

    1. 业务建模流程介绍 * 将业务抽象为分类or回归问题 * 定义标签,得到y * 选取合适的样本,并匹配出全部的信息作为特征的来源 * 特征工程 + 模型训练 + 模型评价与调优(相互之间可能会有交 ...

  3. 金融风控--申请评分卡模型--特征工程(特征分箱,WOE编码) 标签: 金融特征分箱-WOE编码 2017-07-16 21:26 4086人阅读 评论(2) 收藏 举报 分类: 金融风

    金融风控-->申请评分卡模型-->特征工程(特征分箱,WOE编码) 标签: 金融特征分箱-WOE编码 2017-07-16 21:26 4086人阅读 评论(2) 收藏 举报 分类: 金融 ...

  4. 金融风控实战——风控数据挖掘方法(决策树规则挖掘)

    风控数据挖掘方法(决策树规则挖掘) import pandas as pd import numpy as np data = pd.read_excel("/Users/zhucan/De ...

  5. 金融风控实战——信贷特征衍生与筛选(中国移动人群画像赛TOP1)

    运营商变量的深度挖掘 我们以本次比赛的特征为例进行展开的描述: 1.用户实名制是否通过核实 1为是0为否 目前国内基本上是手机卡绑定身份证,当然有部分落后地区仍旧存在着买卖所谓流量卡这类的经营活动,一 ...

  6. [学习笔记]金融风控实战

    参考资料: 零基础入门金融风控-贷款违约预测 导包 import pandas as pd import matplotlib.pyplot as plt # 读取数据 train = pd.read ...

  7. 【算法竞赛学习】金融风控之贷款违约预测-特征工程

    Task3 特征工程 此部分为零基础入门金融风控的 Task3 特征工程部分,带你来了解各种特征工程以及分析方法,欢迎大家后续多多交流. 赛题:零基础入门数据挖掘 - 零基础入门金融风控之贷款违约 项 ...

  8. 金融风控实战——风控领域涉及到的算法和风控算法工程师需要具备的能力

    一些简单的介绍 市面上算法相关的岗位,从大范围上分为两大类 1.研究驱动的算法工程师,这类算法工程师的门槛很高,分布在大型公司的研究院.创新实验室等部门,这类算法工程师主要是以研究新的算法或者是更好的 ...

  9. 金融风控实战——额度模型与风控策略

    消费金融风控策略 变量分布的合理性:年龄为例,这期的用户大多集中在20-30之间,下一批用户年龄集中在30-40之间,导致变量分布不一致问题.机器学习模型都是基于独立同分布的假设的,会让模型失效,很多 ...

最新文章

  1. 使用 .NET 框架轻松开发完美的 Web 窗体控件
  2. 查询时间范围_MySQL慢查询(中):正确处理姿势,你get到了吗?
  3. localdate转date时区问题_时间戳和LocalDateTime和Date互转和格式化
  4. 推荐 查公司信息的一个网站
  5. Java JFrame实现全屏的四种方式
  6. R开发(part9)--文件系统管理
  7. 给用过SAP CRM中间件的老哥老姐们讲讲SAP CPI
  8. powerdesigner怎么导出pdf_各种科研绘图软件中的矢量图导出技巧
  9. nginx集群_使用Nginx+Tomcat+keepalived 搭建高性能高可用性负载均衡集群
  10. django框架 day05
  11. 深度学习----一文搞懂激活函数(Sigmoid/ReLU/LeakyReLU/PReLU/ELU)
  12. js高级学习笔记(b站尚硅谷)-15-闭包的剩余知识
  13. 浅析WIN8打开图片或PDF时提示在禁用UAC的问题
  14. 设置了相对定位relative之后,改变top值,如何去掉多余空白?
  15. android 电视怎么投屏,手机怎么投屏到电视?原来这么简单
  16. 环世界RimWorld for Mac(模拟建造游戏)
  17. 拆解B站内容运营新思路,UP主如何在内卷严重赛道中“求同存异”
  18. Mybatis的ResultMap结果集映射
  19. matlab修改背景颜色为护眼和修改字体大小
  20. P1071,OpenJudge1.7-11潜伏者详解

热门文章

  1. [转载]姜奇平谈“世界三”
  2. 一年之计在于春,不念昨日,不畏明天!
  3. Linux 下 c 语言 聊天软件
  4. 什么是NTFS文件系统
  5. 算法设计与分析——树
  6. nginx: [emerg] bind() to 0.0.0.0:8082 failed (10013: An attempt was made to acce ss a socket in a wa
  7. el-table动态渲染表格列el-table-column且里边嵌套el-popover弹出框语法
  8. 视频格式转换器怎样使用?
  9. 汇编语言:栈相关知识点
  10. 系统和分布式设计专题