深圳网站设计x,广告公司创意取名,番禺seo培训,危机公关处理内容目录1. 添加随机日期2. 聚合求和3.聚合求和排序4. 聚合求和排序取前十5. 聚合取极值6. 重新赋值7. 按条件赋值pandas作为数据处理的得力工具#xff0c;简便了数据开发过程#xff0c;之前串联了pandas的使用方法#xff0c;现在用几个小案例巩固一下常用的pandas方法。…
内容目录1. 添加随机日期2. 聚合求和3.聚合求和排序4. 聚合求和排序取前十5. 聚合取极值6. 重新赋值7. 按条件赋值pandas作为数据处理的得力工具简便了数据开发过程之前串联了pandas的使用方法现在用几个小案例巩固一下常用的pandas方法。 前一章节的pandas使用链接pandas模块的使用 假设有一个数据文件是某个网站的点击、下单记录说明数据只是模拟案例提供使用没有任何实际意义
page click add pay cost
1516609143869 2 8 92 9假设一行数据如上所示分别为页面、点击、添加、支付、花费等字段那么需要实现的功能如下。
1. 添加随机日期
数据缺少日期为了模拟数据需要对每行数据增加一个随机日期要求日期范围在2023-01-01 至 2023-01-15之间
# TODO 1 : 读入数据到DataFrame
data pd.DataFrame(pd.read_table(path, sep , headerNone, names[page,click,add,pay,cost]))为每行数据增加一个随机日期
# TODO 2 : 增加随机日期范围在01-0101-15之间
dates pd.date_range(start2023-01-01, end2023-01-15, periodslen(data))
date_rng_formatted [date.strftime(%Y-%m-%d) for date in dates]data[dt] np.random.choice(date_rng_formatted, len(data))2. 聚合求和
要求按照page字段聚合求click、add、pay的和
# TODO 3 : 每个页面的总共点击、添加、支付、花费总
df_sum data.groupby(page).agg({click:sum,add:sum,pay:sum, cost:sum})3.聚合求和排序
要求每个页面的总共点击、添加、支付、花费总量按照点击、添加、支付、花费排序
# TODO 4 : 每个页面的总共点击、添加、支付、花费总量按照点击、添加、支付、花费排序
df_sort data.groupby(page).agg({click:sum,add:sum,pay:sum, cost:sum}).sort_values([click,add,cost],ascendingFalse)4. 聚合求和排序取前十
这里分为两个类别
聚合求和排序后取全部的前十
# 方法一
# TODO 5 : 每个页面的总共点击、添加、支付、花费总量按照点击、添加、支付、花费排序,取前十
df_sort_get data.groupby(page).agg({click:sum,add:sum,pay:sum, cost:sum}).sort_values([click,add,cost],ascendingFalse).head(10)#方法二
df_sort_get data.groupby(page).agg({click:sum,add:sum,pay:sum, cost:sum}).sort_values([click,add,cost],ascendingFalse).iloc[:10]聚合求和排序后取每个分组的前十
# TODO 6 : 每个页面总共点击、添加、支付的总和排序并取组内前十
df_group_sort_get data.sort_values([click,add,cost], ascendingFalse).groupby(page).head(5).iloc[:,[0,1,2,3]]5. 聚合取极值
要求按照日期取每个日期里点击量最多的记录
# TODO 7 : 求每日点击总和最多的页面并按照dt字段升序输出
df_dt_page data.groupby([page,dt]).agg({click:sum}).sort_values([click], ascendingFalse).groupby(dt).head(1).sort_values(dt)6. 重新赋值
要求将每个页面总点击数量不超过100的重新赋值为0
# TODO 8 : 将每个页面总点击数量不超过100的重新赋值为0
data_sum data.groupby([page]).agg({click:sum})
data_sum.loc[data_sum[click]100,click] 07. 按条件赋值
要求将每个页面总点击数量不超过100的重新赋值为0,否则为1,并赋予新列
# TODO 9 : 将每个页面总点击数量不超过100的重新赋值为0,否则为1,并赋予新列
data_sum_tmp data.groupby([page]).agg({click:sum})
def func(x):if x[click] 100:return 0else:return 1
data_sum_tmp[new_cloumn] data_sum_tmp.apply(func, axis1)以上列举了几个常用到的pandas处理方法但是不够全面在真实使用下肯定用到的方法和技巧会更多需要多多练习和总结。