您当前的位置:首页 >> 商场 >  >> 
0907python 数分 py基础知识
来源: 哔哩哔哩      时间:2023-09-08 11:32:21

仅作个人学习记录 jupyter 数据分析


(资料图片仅供参考)

对列表数据进行处理

ad_list = [{'投放账户': '戴戴戴师兄', '广告计划名称': '《戴你玩转数据分析》_职场新人_18-24_1-6', '广告计划ID': 'AD666', '优化目标': '直播间成交', '客单价': 88, '消耗': 2245, '直播间曝光数': 5893, '直播间观看数': 2298, '商品点击数': 1654, '商品下单数': 160, '商品成交数': 14, 'GMV': 123200, '成交金额': 123200, '投放日期': '2023-01-01'}, {'投放账户': '戴戴戴师兄', '广告计划名称': '《商业分析课程》_数据分析-商业分析_22-35_1-6', '广告计划ID': 'AD888', '优化目标': '直播间成交', '客单价': 288, '消耗': 3231, '直播间曝光数': 3274, '直播间观看数': 1702, '商品点击数': 1174, '商品下单数': 102, '商品成交数': 10, 'GMV': 288000, '成交金额': 288000, '投放日期': '2023-01-01'}, {'投放账户': '戴戴戴师兄', '广告计划名称': '《数据分析工具课程》_数据分析_22-35_1-6', '广告计划ID': 'AD999', '优化目标': '直播间成交', '客单价': 188, '消耗': 3784, '直播间曝光数': 5865, '直播间观看数': 4633, '商品点击数': 2779, '商品下单数': 200, '商品成交数': 27, 'GMV': 507600, '成交金额': 507600, '投放日期': '2023-01-01'}]

ad_list

1.取出数据,并赋值给一个变量

ad_1 = ad_list[0]

ad_1

2.处理重复的字段

del ad_1['成交金额']

ad_1

3.处理异常值

ad_1 ['GMV']=ad_1 ['GMV']  / 100

ad_1

4.增加字段(键)ROI 成交额/成本

ad_1['ROI'] = round(ad_1['GMV'] / ad_1['消耗'] , 2)  #使用round函数是为了只保留2位小数

ad_1

5.广告策略分割

ad_1['广告计划名称'] .split('_')

ad_1['商品名称']=ad_1['广告计划名称'].split('_')[0]

ad_1['人群标签']= ad_1['广告计划名称'].split('_')[1]

ad_1['用户年龄']= ad_1['广告计划名称'].split('_')[2]

ad_1['用户等级']= ad_1['广告计划名称'].split('_')[3]

ad_1

对文件数据进行处理:将上述1-5步应用到文件中的每一个广告计划里

1.读取数据

with open('历史数据.txt','r',encoding='utf-8') as f:

history=()

history

2.读取出来的文本是字符串类型(引号),不可处理,要用eval函数去掉引号,变成可处理的

history=eval(history)

history

3.循环 分割广告策略

for i in range(len(history)): 

ad_1=history[i]

del ad_1['成交金额']

ad_1['GMV']=ad_1['GMV']/100

ad_1['ROI']= round( ad_1['GMV'] / ad_1['消耗'],2)

ad_1['广告计划名称'].split('_')

ad_1['ad']=ad_1['广告计划名称'].split('_')[0]

ad_1['tag']=ad_1['广告计划名称'].split('_')[1]

ad_1['age']=ad_1['广告计划名称'].split('_')[2]

ad_1['level']=ad_1['广告计划名称'].split('_')[3]

history

5.提取roi大于1 的广告计划 if语句

good_list=[]

for i in range(len(history)):

if history[i]['ROI']>=1 :

good_(history[i])

else:

pass

good_list

使用函数,将上述步骤一步到位

def process_data(data_list):

ad_list=[]

for i in range(len(data_list)):

ad_1=data_list[i]

del ad_1['成交金额']

ad_1['GMV']=ad_1['GMV']/100

ad_1['ROI']= round( ad_1['GMV'] / ad_1['消耗'],2)

ad_1['广告计划名称'].split('_')

ad_1['ad']=ad_1['广告计划名称'].split('_')[0]

ad_1['tag']=ad_1['广告计划名称'].split('_')[1]

ad_1['age']=ad_1['广告计划名称'].split('_')[2]

ad_1['level']=ad_1['广告计划名称'].split('_')[3]

if ad_1['ROI']>=1:

ad_(ad_1)

else:

pass

return  ad_list

with open('历史数据.txt','r',encoding='utf-8') as f:

history=()

history=eval(history)

history

process_data(history)

学习内容来自@戴戴戴师兄:BV1ZM4y1u7uF

标签:

X 关闭

X 关闭