钻展定向数据生成方法

阅读: 评论:0

钻展定向数据生成方法

钻展定向数据生成方法

用处

通过固定资源位下定向维度,可以观察出对应的哪个资源位下的哪个定向在拉开的日期中适合投放。另外创意也是同理。不加赘述。

前期要求

计划都是根据 资源位_定向 命名的;否则不成功。

生成要求

桌面准备一个的文档,其中把所有的定向的数据按照分日下载的总览放入到上面。

步骤

具体的生成文档程序所示. 都是顺序处理,无难点。

其中有两个关键点:
1, 分割字符串,可以用切片,也可以用正则,这里用的是切片,有兴趣的可以用’(.)_(.)’识别也可以。
用处:例如2中的例子160x200_Kinoo的C店; 160x200_Kinoo旗舰店 实际上对应人群一样; 可以放在一起。
2, 就是对应的具有相似字眼的文本处理,例如 160x200_核心人群; 160x200_核心人群双11预售两头投; 40行所在的位置

程序

import numpy as np
import pandas as pdstrings = open('C:\Users\Administrator\Desktop\','r+').readlines();for i in range(len(strings)):strings[i] = strings[i].split('n')[0]columns = strings[0].split('t')data = []
for i in np.arange(1,len(strings)):data.append(strings[i].split('t'))df = pd.DataFrame(data,columns = columns);#不用正则表达式,直接用字符串处理的方法
dxl = [] #资源位和定向
zyw = []
for i in range(len(df)):temp = df.计划基本信息[i].split('_')zyw.append(temp[0])dx = ''for j in np.arange(1,len(temp)):dx = dx + temp[j]dxl.append(dx)df['资源位'] = pd.Series(zyw, index = range(len(df)))#除去 相应不需要的字眼
new_dx = [] #无重集合__set类型
new_Data = [] #无重集合, 有序的正确字符串类型  <==== 后续能用上
newLL = []
for i in range(len(dxl)):tempReso = set(dxl[i]) - set('双11预售两头投')if(tempReso in new_dx):if(len(tempReso) <= len(set(dxl[i]))): #不涵盖这几个字newLL.append(dxl[i])else:for kk in new_Data :set(kk) == tempResonewLL.append(kk)breakelse:newLL.append(dxl[i])new_dx.append(tempReso)new_Data.append(dxl[i])df['当前定向'] = pd.Series(newLL, index = range(len(df)))#((set(s1) - set('双11预售两头投'))==(set(s2) - set('双11预售两头投'))):'''
按日子分开; 将各个计划存储到对应的单元 < 无视 双11 两头投字眼>。
1, 显示每天的分布情况; 花费; //定时间#2,显示相同的计划对应的时间维度 //定计划3,生成的是对应的定向店铺的维度 ''&#_csv('C:\Users\Administrator\Desktop\demo1.csv')def setDayToDf(df,string):tempDf = df[df.时间 == string]kk = 'F:\By\12December\RubishResouse\'+ string +'_df.csv&#_csv(kk)return 
#setDayToDf(df,'2016-10-11') #完成日期的生成模式#传递进去资源位; 生成只涵盖资源位的位置
def setZYW(df,string):tempDf = df[df.资源位 == string]kk = 'F:\By\12December\RubishResouse\'+ string +'_df.csv&#_csv(kk)return '''
生辰给资源位和定向 都相同// 根据时间维度变化的各个文件
'''zyw0 = np.unique(zyw)
dx0 = np.unique(new_Data)
for i in zyw0:  #资源位for j in dx0: #定向df1 = df[df.资源位 == i] temp_df2 = df1[df1.当前定向 == j]if(len(temp_df2) >2 ):file = 'F:\By\12December\RubishResouse\'+ i+'_'+j +'_df.csv'print('已经生成文档: ' ,file )_csv(file)else:passprint('End')

程序2

target: 生成对应目标下汇总的数据;

import numpy as np
import pandas as pdindex0 = ['展现','点击','消耗','点击率(%)','点击单价(元)','千次展现成本(元)','访客','深度进店量','访问时长','访问页面数','收藏宝贝量','收藏店铺量','添加购物车量','拍下订单量','拍下订单金额','成交订单量','成交订单金额','点击转化率(%)','投资回报率']
num = 3strings = open('C:\Users\Administrator\Desktop\','r+').readlines();for i in range(len(strings)):strings[i] = strings[i].split('n')[0]columns = strings[0].split('t')data = []
for i in np.arange(1,len(strings)):data.append(strings[i].split('t'))#把data变化成double型
for x in range(len(data)):for y in np.arange(2, len(data[x])):if(data[x][y] == ''):data[x][y] = 0else:data[x][y] = float(data[x][y])df = pd.DataFrame(data,columns = columns);#不用正则表达式,直接用字符串处理的方法
dxl = [] #资源位和定向
zyw = []
for i in range(len(df)):temp = df.计划基本信息[i].split('_')zyw.append(temp[0])dx = ''for j in np.arange(1,len(temp)):dx = dx + temp[j]dxl.append(dx)df['资源位'] = pd.Series(zyw, index = range(len(df)))'''
再替换回资源位
'''
for d in range(len(dxl)):dxl[d] = dxl[d][0:num]
df['定向'] = pd.Series(dxl, index = range(len(dxl)))df.to_csv('C:\Users\Administrator\Desktop\ot1.csv')def summary0(dfi):l = np.zeros(len(index0))#低级求和运算类    for d1 in dfi.as_matrix():for k in range(14):l[k] = l[k] + d1[k+2]#将低级求和项的几个权重算出来,分别是访问市长度访问页面数、l[3] = l[1]/l[0] #ctrl[4] = l[2]/l[1] #cpcl[5] = 1000*l[2]/l[0] #cpml[8] = l[8]/l[6] #访问市场l[9] = l[9]/l[6] #访问页面数l[17] = l[15]/l[1]l[18] = l[16]/l[2] #roireturn pd.Series(l, index = index0)#print('输入对应的资源位和需要的定向前4个字')#通过df.columns 生成后复制进来; 不能直接取步长; 传递进去的都是去重后的数据def setZDS(zyw = df.资源位 ,dx = df.定向 ):return np.unique(df.资源位),np.unique(df.定向)def summary1(zyw1): #资源位df_temp = df[df.资源位 == zyw1]if(len(df_temp.index)>0):return zyw1,summary0(df_temp)else:return def summary2(dx1):#定向df_temp = df[df.定向 == dx1]if(len(df_temp.index)>0):return dx1,summary0(df_temp)else:return def summary3(zyw1, dx1):#资源位和定向df1 = df[df.资源位 == zyw1]sts = zyw1+'_'+dx1df_temp = df1[df1.定向 == dx1]if(len(df_temp.index)>0):return sts, summary0(df_temp)else:return zyws, dxs = setZDS() #生成定向的表格
def setDXT():l = []            for x in dxs:if(len(x)>0):l.append(summary2(x))return l
def setZyT():l = []            for x in zyws:if(len(x)>0):l.append(summary1(x))return ldef setZDT():l = []for x in dxs:for y in zyws:l.append(summary3(x,y))return ldef writeLS():la = []la.extend(setDXT())la.extend(setZyT())cc = open('C:\Users\Administrator\Desktop\','w+')cc.write('资源位_定向')cc.write('t')for ii in index0:    cc.write(ii)cc.write('t')cc.write('n')for sys in la:for x in sys:cc.write(sys[0])cc.write('t')for y in sys[1]:cc.write(str(y))cc.write('t')cc.write('n')cc.close()writeLS()

转载于:.html

本文发布于:2024-02-02 08:49:42,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170683498142682.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:方法   数据
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23