Skip to content

Releases: David-AJ/SecretComp

groupby()版createPpd

28 Feb 12:55
Compare
Choose a tag to compare

修改PPD

pay_per_day (PPD)

每家店铺(sid) 每天(date) 的 支付数量

计算方法

  • DataFrame数据paygroupby()函数可以按照指定属性分组
    这里按照['sid','date']分组,调用.size()计算各组大小
  • 有些sid'指定date数据为0,使用groupby().size()不会返回为0`的数据
    可以理解为商家对应日期未开业
    如果按照前几个版本计算保留为0的数据,会使训练的模型过拟合

pay_per_day2.txt可下载

convert shop_info into np.array

28 Feb 08:55
Compare
Choose a tag to compare
Pre-release

shop信息数字化表示

  • 将shop中包含nan值的数据依照不同属性置为-1'无'
  • 将shop中包含字符串数据的属性映射为数字,字典存储
  • 将整理后的shop数据转换为numpyarray数据

map()版creatPpd

27 Feb 15:14
Compare
Choose a tag to compare

改进部分

def creatPpd(item):
    global ppd,datemap
    ppd[datemap[item.date]][item.sid] = ppd[datemap[item.date]][item.sid] + 1     

其中item.dateitem.sid为错误写法,改为

def creatPpd(item):
    global ppd,datemap
    ppd[datemap[item[2]]][item[1]-1] = ppd[datemap[item[2]]][item[1]-1] + 1

map()版creatPpd

27 Feb 14:58
Compare
Choose a tag to compare

改进部分

  • 遍历paydate列,将0:-9保留(精确到天),使用set()去重

改为

  • 利用DataFrame自带的str.slice()函数,将date列的0:-9保留
    使用list(set(pay.date))去重后转换为列表,list.sort()排序
  • 利用dic字典将字符串日期映射成0-len(date)的数字下标

改为

  • 利用列表解析重写了将字符串日期映射成0-len(date)的数字下标
    字典改名为datemap,遍历plist时不需要再对字符串切分0:-9

map()版creatPpd

27 Feb 14:39
Compare
Choose a tag to compare
map()版creatPpd Pre-release
Pre-release

增加PPD

pay_per_day (PPD)

每家店铺(sid) 每天(date) 的 支付数量

计算方法

  • 遍历paydate列,将0:-9保留(精确到天),使用set()去重
  • 利用dic字典将字符串日期映射成0-len(date)的数字下标
  • 创建二维数组ppd,横坐标为sid,纵坐标为dic的映射的数组下标
  • payDataFrame转换成numpy.array结构,使用map()函数遍历计算
    pay_per_day.txt可下载