mdbq 3.7.22__py3-none-any.whl → 3.7.24__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
mdbq/aggregation/query_data.py
CHANGED
@@ -1011,6 +1011,36 @@ class MysqlDatasQuery:
|
|
1011
1011
|
)
|
1012
1012
|
return True
|
1013
1013
|
|
1014
|
+
def tg_cjzb_qzt(self, projection=None, is_maximize=True):
|
1015
|
+
start_date, end_date = self.months_data(num=self.months)
|
1016
|
+
if not projection:
|
1017
|
+
projection = {
|
1018
|
+
'日期': 1,
|
1019
|
+
'场景名字': 1,
|
1020
|
+
'计划id': 1,
|
1021
|
+
'全站花费': 1,
|
1022
|
+
'全站观看次数': 1,
|
1023
|
+
'全站宝贝点击量': 1,
|
1024
|
+
'全站成交金额': 1,
|
1025
|
+
'全站成交笔数': 1,
|
1026
|
+
'店铺名称': 1,
|
1027
|
+
}
|
1028
|
+
__res = []
|
1029
|
+
for year in range(2025, datetime.datetime.today().year + 1):
|
1030
|
+
df = self.download.data_to_df(
|
1031
|
+
db_name='推广数据2',
|
1032
|
+
table_name=f'超级直播_全站推广报表_{year}',
|
1033
|
+
start_date=start_date,
|
1034
|
+
end_date=end_date,
|
1035
|
+
projection=projection,
|
1036
|
+
)
|
1037
|
+
__res.append(df)
|
1038
|
+
df = pd.concat(__res, ignore_index=True)
|
1039
|
+
if len(df) == 0:
|
1040
|
+
return pd.DataFrame()
|
1041
|
+
return df
|
1042
|
+
|
1043
|
+
|
1014
1044
|
@try_except
|
1015
1045
|
def tg_cjzb(self, db_name='聚合数据', table_name='天猫_超级直播', is_maximize=True):
|
1016
1046
|
start_date, end_date = self.months_data(num=self.months)
|
@@ -1042,6 +1072,21 @@ class MysqlDatasQuery:
|
|
1042
1072
|
)
|
1043
1073
|
__res.append(df)
|
1044
1074
|
df = pd.concat(__res, ignore_index=True)
|
1075
|
+
cjzb_qzt = self.tg_cjzb_qzt(is_maximize=True)
|
1076
|
+
if len(cjzb_qzt) > 0:
|
1077
|
+
# 这里的重命名要注意,因为 tg_cjzb 函数还要重命名一次,注意改为 tg_cjzb 命名前的列名
|
1078
|
+
cjzb_qzt.rename(columns={
|
1079
|
+
'全站花费': '花费',
|
1080
|
+
'全站观看次数': '观看次数',
|
1081
|
+
'全站宝贝点击量': '点击量',
|
1082
|
+
'全站成交金额': '总成交金额',
|
1083
|
+
'全站成交笔数': '总成交笔数'
|
1084
|
+
}, inplace=True)
|
1085
|
+
for col in df.columns.tolist():
|
1086
|
+
if col not in cjzb_qzt.columns.tolist():
|
1087
|
+
cjzb_qzt[col] = 0
|
1088
|
+
df = pd.concat([df, cjzb_qzt], ignore_index=True)
|
1089
|
+
|
1045
1090
|
df.rename(columns={
|
1046
1091
|
'观看次数': '观看次数',
|
1047
1092
|
'总购物车数': '加购量',
|
@@ -1062,6 +1107,7 @@ class MysqlDatasQuery:
|
|
1062
1107
|
'观看次数': 'int64',
|
1063
1108
|
}, errors='raise')
|
1064
1109
|
df = df[df['花费'] > 0]
|
1110
|
+
df['日期'] = pd.to_datetime(df['日期'], format='%Y-%m-%d', errors='ignore') # 转换日期列
|
1065
1111
|
if is_maximize:
|
1066
1112
|
df = df.groupby(['日期', '店铺名称', '营销场景', '人群名字', '计划名字', '花费', '观看次数'],
|
1067
1113
|
as_index=False).agg(
|
@@ -1121,6 +1167,7 @@ class MysqlDatasQuery:
|
|
1121
1167
|
max_date = df['日期'].max()
|
1122
1168
|
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
1123
1169
|
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1170
|
+
|
1124
1171
|
m_engine.df_to_mysql(
|
1125
1172
|
df=df,
|
1126
1173
|
db_name=db_name,
|
@@ -2735,6 +2782,43 @@ class MysqlDatasQuery:
|
|
2735
2782
|
|
2736
2783
|
_datas = [item for item in [df_tm, df_tb, df_tb_qzt, df_al, df_sj, df_tm_pxb, df_tm_living, df_jd, df_jd_qzyx] if len(item) > 0] # 阻止空的 dataframe
|
2737
2784
|
df = pd.concat(_datas, axis=0, ignore_index=True)
|
2785
|
+
# 超级直播全站推广不包含在营销场景报表中,所以单独添加 2025-03-05
|
2786
|
+
projection = {
|
2787
|
+
'日期': 1,
|
2788
|
+
'店铺名称': 1,
|
2789
|
+
'场景id': 1,
|
2790
|
+
'场景名字': 1,
|
2791
|
+
'全站花费': 1,
|
2792
|
+
'全站观看次数': 1,
|
2793
|
+
'全站宝贝点击量': 1,
|
2794
|
+
'全站成交笔数': 1,
|
2795
|
+
'全站成交金额': 1,
|
2796
|
+
}
|
2797
|
+
cjzb_qzt = self.tg_cjzb_qzt(projection=projection, is_maximize=True)
|
2798
|
+
if len(cjzb_qzt) > 0:
|
2799
|
+
cjzb_qzt.rename(columns={
|
2800
|
+
'场景名字': '营销场景',
|
2801
|
+
'全站花费': '花费',
|
2802
|
+
'全站观看次数': '展现量',
|
2803
|
+
'全站宝贝点击量': '点击量',
|
2804
|
+
'全站成交笔数': '成交笔数',
|
2805
|
+
'全站成交金额': '成交金额',
|
2806
|
+
}, inplace=True)
|
2807
|
+
cjzb_qzt = cjzb_qzt.groupby(
|
2808
|
+
['日期', '店铺名称', '场景id', '营销场景'],
|
2809
|
+
as_index=False).agg(
|
2810
|
+
**{
|
2811
|
+
'花费': ('花费', np.max),
|
2812
|
+
'展现量': ('展现量', np.max),
|
2813
|
+
'点击量': ('点击量', np.max),
|
2814
|
+
'成交笔数': ('成交笔数', np.max),
|
2815
|
+
'成交金额': ('成交金额', np.max)
|
2816
|
+
}
|
2817
|
+
)
|
2818
|
+
for col in df.columns.tolist():
|
2819
|
+
if col not in cjzb_qzt.columns.tolist():
|
2820
|
+
cjzb_qzt[col] = 0
|
2821
|
+
df = pd.concat([df, cjzb_qzt], ignore_index=True)
|
2738
2822
|
df['日期'] = pd.to_datetime(df['日期'], format='%Y-%m-%d', errors='ignore') # 转换日期列
|
2739
2823
|
df = df.groupby(
|
2740
2824
|
['日期', '店铺名称', '营销场景'],
|
@@ -3863,6 +3947,3 @@ if __name__ == '__main__':
|
|
3863
3947
|
days=150, # 清理聚合数据的日期长度
|
3864
3948
|
months=3 # 生成聚合数据的长度
|
3865
3949
|
)
|
3866
|
-
|
3867
|
-
|
3868
|
-
|
@@ -2,7 +2,7 @@ mdbq/__init__.py,sha256=Il5Q9ATdX8yXqVxtP_nYqUhExzxPC_qk_WXQ_4h0exg,16
|
|
2
2
|
mdbq/__version__.py,sha256=y9Mp_8x0BCZSHsdLT_q5tX9wZwd5QgqrSIENLrb6vXA,62
|
3
3
|
mdbq/aggregation/__init__.py,sha256=EeDqX2Aml6SPx8363J-v1lz0EcZtgwIBYyCJV6CcEDU,40
|
4
4
|
mdbq/aggregation/optimize_data_bak.py,sha256=wB7prQdZAHyjzXH9V8g8X_JBMdvCCUITN1hVwK72Tdg,952
|
5
|
-
mdbq/aggregation/query_data.py,sha256=
|
5
|
+
mdbq/aggregation/query_data.py,sha256=_muZtq-5aox1bRecCv--_ScBMDVhjN8fdBFdSB-d-ww,177925
|
6
6
|
mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
|
7
7
|
mdbq/bdup/bdup.py,sha256=hJs815hGFwm_X5bP2i9XugG2w2ZY_F0n3-Q0hVpIPPw,4892
|
8
8
|
mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
|
@@ -31,7 +31,7 @@ mdbq/redis/__init__.py,sha256=YtgBlVSMDphtpwYX248wGge1x-Ex_mMufz4-8W0XRmA,12
|
|
31
31
|
mdbq/redis/getredis.py,sha256=1pTga2iINx0NV2ffl0D-aspZhrZMDQR8SpohAv1acoo,24076
|
32
32
|
mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
|
33
33
|
mdbq/spider/aikucun.py,sha256=o_QwFWbD6O2F56k6bwnpVV55EcdFCyes05ON7iu9TrA,21882
|
34
|
-
mdbq-3.7.
|
35
|
-
mdbq-3.7.
|
36
|
-
mdbq-3.7.
|
37
|
-
mdbq-3.7.
|
34
|
+
mdbq-3.7.24.dist-info/METADATA,sha256=XIXcOBgDC16DPVH0q9Ce0vN5OQqh-dqUkUCAyku3UQ8,364
|
35
|
+
mdbq-3.7.24.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
36
|
+
mdbq-3.7.24.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
|
37
|
+
mdbq-3.7.24.dist-info/RECORD,,
|
File without changes
|
File without changes
|