#合并数据
pd.merge(df,df2,how = 'inner',on = '门店',suffixes = ('前表','后表'))
pd.merge(data1,data2,how = "inner" on = "",suffixes = ("",""))
#读取数据
import pandas as pd
data_key = pd.read_csv(r"C:\Users\lihwa11\Desktop\二期直通车效果\数据处理\demo\推广单元列表-关键词-2019-03-1.csv")
data_key.head()
#print(data_area.shape[0])
#分组计算,注意索引和series和muldataframe
#data_key.groupby(['publish_time', 'classf', 'salary']).count()['title'].groupby(level=0, group_keys=False).nlargest(10)
#cols = ["日期","推广计划名称"]
#temp_demo = data_key.groupby(["日期","推广计划名称"]).sum()["展现量"].groupby(level=0, group_keys=False).nlargest(10)
temp_demo = data_key.groupby("日期").sum()[{"展现量","点击量"}]
temp_demo.head()
#xs函数是针对于多分组形成的mulDateframe
temp_demo2 = data_key.groupby(["日期","推广计划名称"]).sum()[{"展现量","点击量"}]
temp_demo2.xs("2019-03-18")
#说明了一个问题,使用agg函数调用top_n的话,它在尝试对每一个分组使用top_n进行聚合,但是top_n的作用是排序,不是聚合,所以肯定会报错
#所以在这种情况下,只能采用apply函数,而不能采用agg函数,agg函数内调用的函数只能对分组进行聚合使用。
#https://www.cnblogs.com/vczh/p/6746935.html
dict = {"展现量":["mean","sum"],"点击量":"sum"}
demo_c = data_key.groupby(["日期"]).agg(dict)
demo_c = data_key.groupby(["日期"]).agg({"展现量":"mean","点击量":"sum"})
demo_c
#可视图表
import numpy as np
table = pd.pivot_table(data_key,index="日期",columns=["推广计划名称"],values=["点击量","展现量"], aggfunc={"点击量":len,"展现量":[np.sum,np.mean]},fill_value=0)
table