mdbq 3.0.6__tar.gz → 3.0.7__tar.gz
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-3.0.6 → mdbq-3.0.7}/PKG-INFO +1 -1
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/aggregation/query_data.py +61 -61
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/dataframe/converter.py +1 -1
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq.egg-info/PKG-INFO +1 -1
- {mdbq-3.0.6 → mdbq-3.0.7}/setup.py +1 -1
- {mdbq-3.0.6 → mdbq-3.0.7}/README.txt +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/__version__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/aggregation/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/aggregation/aggregation.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/aggregation/df_types.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/aggregation/mysql_types.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/aggregation/optimize_data.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/aggregation/query_data_bak.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/bdup/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/bdup/bdup.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/clean/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/clean/clean_upload.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/clean/data_clean.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/company/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/company/copysh.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/config/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/config/get_myconf.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/config/myconfig.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/config/products.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/config/set_support.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/config/update_conf.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/dataframe/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/log/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/log/mylogger.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/mongo/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/mongo/mongo.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/mysql/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/mysql/mysql.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/mysql/recheck_mysql.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/mysql/s_query.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/mysql/year_month_day.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/other/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/other/porxy.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/other/pov_city.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/other/sku_picture.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/other/ua_sj.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/pbix/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/pbix/refresh_all_old.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/req_post/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/req_post/req_tb.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/spider/__init__.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq/spider/aikucun.py +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-3.0.6 → mdbq-3.0.7}/setup.cfg +0 -0
@@ -100,15 +100,15 @@ class MysqlDatasQuery:
|
|
100
100
|
}, inplace=True)
|
101
101
|
df = df.astype({
|
102
102
|
'商品id': str,
|
103
|
-
'花费':
|
104
|
-
'展现量':
|
105
|
-
'点击量':
|
106
|
-
'加购量':
|
107
|
-
'成交笔数':
|
108
|
-
'成交金额':
|
109
|
-
'自然流量曝光量':
|
110
|
-
'直接成交笔数':
|
111
|
-
'直接成交金额':
|
103
|
+
'花费': 'float64',
|
104
|
+
'展现量': 'int64',
|
105
|
+
'点击量': 'int64',
|
106
|
+
'加购量': 'int64',
|
107
|
+
'成交笔数': 'int64',
|
108
|
+
'成交金额': 'float64',
|
109
|
+
'自然流量曝光量': 'int64',
|
110
|
+
'直接成交笔数': 'int64',
|
111
|
+
'直接成交金额': 'float64',
|
112
112
|
}, errors='raise')
|
113
113
|
if is_maximize:
|
114
114
|
df = df.groupby(['日期', '店铺名称', '营销场景', '商品id', '花费', '展现量', '点击量'], as_index=False).agg(
|
@@ -356,14 +356,14 @@ class MysqlDatasQuery:
|
|
356
356
|
df.fillna(0, inplace=True)
|
357
357
|
df = df.astype({
|
358
358
|
'商品id': str,
|
359
|
-
'花费':
|
360
|
-
'展现量':
|
361
|
-
'点击量':
|
362
|
-
'加购量':
|
363
|
-
'成交笔数':
|
364
|
-
'成交金额':
|
365
|
-
'直接成交笔数':
|
366
|
-
'直接成交金额':
|
359
|
+
'花费': 'float64',
|
360
|
+
'展现量': 'int64',
|
361
|
+
'点击量': 'int64',
|
362
|
+
'加购量': 'int64',
|
363
|
+
'成交笔数': 'int64',
|
364
|
+
'成交金额': 'int64',
|
365
|
+
'直接成交笔数': 'int64',
|
366
|
+
'直接成交金额': 'float64',
|
367
367
|
}, errors='raise')
|
368
368
|
if is_maximize:
|
369
369
|
df = df.groupby(['日期', '店铺名称', '营销场景', '商品id', '花费', '展现量', '点击量', '人群名字'],
|
@@ -541,14 +541,14 @@ class MysqlDatasQuery:
|
|
541
541
|
df.fillna(0, inplace=True)
|
542
542
|
df = df.astype({
|
543
543
|
'商品id': str,
|
544
|
-
'花费':
|
545
|
-
'展现量':
|
546
|
-
'点击量':
|
547
|
-
'加购量':
|
548
|
-
'成交笔数':
|
549
|
-
'成交金额':
|
550
|
-
'直接成交笔数':
|
551
|
-
'直接成交金额':
|
544
|
+
'花费': 'float64',
|
545
|
+
'展现量': 'int64',
|
546
|
+
'点击量': 'int64',
|
547
|
+
'加购量': 'int64',
|
548
|
+
'成交笔数': 'int64',
|
549
|
+
'成交金额': 'float64',
|
550
|
+
'直接成交笔数': 'int64',
|
551
|
+
'直接成交金额': 'float64',
|
552
552
|
}, errors='raise')
|
553
553
|
if is_maximize:
|
554
554
|
df = df.groupby(
|
@@ -672,14 +672,14 @@ class MysqlDatasQuery:
|
|
672
672
|
df['营销场景'] = '超级直播'
|
673
673
|
df.fillna(0, inplace=True)
|
674
674
|
df = df.astype({
|
675
|
-
'花费':
|
676
|
-
# '点击量':
|
677
|
-
'加购量':
|
678
|
-
'成交笔数':
|
679
|
-
'成交金额':
|
680
|
-
'进店量':
|
681
|
-
'粉丝关注量':
|
682
|
-
'观看次数':
|
675
|
+
'花费': 'float64',
|
676
|
+
# '点击量': 'int64',
|
677
|
+
'加购量': 'int64',
|
678
|
+
'成交笔数': 'int64',
|
679
|
+
'成交金额': 'float64',
|
680
|
+
'进店量': 'int64',
|
681
|
+
'粉丝关注量': 'int64',
|
682
|
+
'观看次数': 'int64',
|
683
683
|
}, errors='raise')
|
684
684
|
if is_maximize:
|
685
685
|
df = df.groupby(['日期', '店铺名称', '营销场景', '人群名字', '计划名字', '花费', '观看次数', '展现量'],
|
@@ -788,14 +788,14 @@ class MysqlDatasQuery:
|
|
788
788
|
'搜索访客数': '品牌搜索人数'
|
789
789
|
}, inplace=True)
|
790
790
|
df = df.astype({
|
791
|
-
'花费':
|
792
|
-
'展现量':
|
793
|
-
'点击量':
|
794
|
-
'加购量':
|
795
|
-
'成交笔数':
|
796
|
-
'成交金额':
|
797
|
-
'品牌搜索量':
|
798
|
-
'品牌搜索人数':
|
791
|
+
'花费': 'float64',
|
792
|
+
'展现量': 'int64',
|
793
|
+
'点击量': 'int64',
|
794
|
+
'加购量': 'int64',
|
795
|
+
'成交笔数': 'int64',
|
796
|
+
'成交金额': 'int64',
|
797
|
+
'品牌搜索量': 'int64',
|
798
|
+
'品牌搜索人数': 'int64',
|
799
799
|
}, errors='raise')
|
800
800
|
if is_maximize:
|
801
801
|
df = df.groupby(['日期', '店铺名称', '报表类型', '花费', '展现量', '点击量'], as_index=False).agg(
|
@@ -2590,7 +2590,7 @@ class MysqlDatasQuery:
|
|
2590
2590
|
df = pd.merge(tg, syj, how='left', left_on=['日期', '店铺名称', '商品id'], right_on=['日期', '店铺名称', '宝贝id'])
|
2591
2591
|
df.drop(labels='宝贝id', axis=1, inplace=True)
|
2592
2592
|
|
2593
|
-
df['商品id'] = df['商品id'].astype(
|
2593
|
+
df['商品id'] = df['商品id'].astype('int64')
|
2594
2594
|
df = df.groupby(
|
2595
2595
|
['日期', '店铺名称', '商品id'],
|
2596
2596
|
as_index=False).agg(
|
@@ -2606,7 +2606,7 @@ class MysqlDatasQuery:
|
|
2606
2606
|
)
|
2607
2607
|
# print(df.info())
|
2608
2608
|
|
2609
|
-
idbm['宝贝id'] = idbm['宝贝id'].astype(
|
2609
|
+
idbm['宝贝id'] = idbm['宝贝id'].astype('int64')
|
2610
2610
|
# 1. id 编码表合并图片表
|
2611
2611
|
df_cb = pd.merge(idbm, pic, how='left', left_on='宝贝id', right_on='商品id')
|
2612
2612
|
df_cb = df_cb[['宝贝id', '商家编码', '商品图片']]
|
@@ -2703,26 +2703,26 @@ class MysqlDatasQuery:
|
|
2703
2703
|
zb.fillna(0, inplace=True) # astype 之前要填充空值
|
2704
2704
|
tg.fillna(0, inplace=True)
|
2705
2705
|
zb = zb.astype({
|
2706
|
-
'花费':
|
2707
|
-
'展现量':
|
2708
|
-
'点击量':
|
2709
|
-
'加购量':
|
2710
|
-
'成交笔数':
|
2711
|
-
'成交金额':
|
2712
|
-
'直接成交笔数':
|
2713
|
-
'直接成交金额':
|
2706
|
+
'花费': 'float64',
|
2707
|
+
'展现量': 'int64',
|
2708
|
+
'点击量': 'int64',
|
2709
|
+
'加购量': 'int64',
|
2710
|
+
'成交笔数': 'int64',
|
2711
|
+
'成交金额': 'float64',
|
2712
|
+
'直接成交笔数': 'int64',
|
2713
|
+
'直接成交金额': 'float64',
|
2714
2714
|
}, errors='raise')
|
2715
2715
|
tg = tg.astype({
|
2716
2716
|
'商品id': str,
|
2717
|
-
'花费':
|
2718
|
-
'展现量':
|
2719
|
-
'点击量':
|
2720
|
-
'加购量':
|
2721
|
-
'成交笔数':
|
2722
|
-
'成交金额':
|
2723
|
-
'直接成交笔数':
|
2724
|
-
'直接成交金额':
|
2725
|
-
'自然流量曝光量':
|
2717
|
+
'花费': 'float64',
|
2718
|
+
'展现量': 'int64',
|
2719
|
+
'点击量': 'int64',
|
2720
|
+
'加购量': 'int64',
|
2721
|
+
'成交笔数': 'int64',
|
2722
|
+
'成交金额': 'float64',
|
2723
|
+
'直接成交笔数': 'int64',
|
2724
|
+
'直接成交金额': 'float64',
|
2725
|
+
'自然流量曝光量': 'int64',
|
2726
2726
|
}, errors='raise')
|
2727
2727
|
# tg = tg.groupby(['日期', '推广渠道', '营销场景', '商品id', '花费', '展现量', '点击量'], as_index=False).agg(
|
2728
2728
|
# **{'加购量': ('加购量', np.max),
|
@@ -2738,7 +2738,7 @@ class MysqlDatasQuery:
|
|
2738
2738
|
df = df.astype(
|
2739
2739
|
{
|
2740
2740
|
'商品id': str,
|
2741
|
-
'自然流量曝光量':
|
2741
|
+
'自然流量曝光量': 'int64',
|
2742
2742
|
}
|
2743
2743
|
)
|
2744
2744
|
[df[col].apply(lambda x: '0' if str(x) == '' else x) for col in df.columns.tolist()]
|
@@ -55,7 +55,7 @@ class DataFrameConverter(object):
|
|
55
55
|
if (col.endswith('占比') or col.endswith('率') or col.endswith('同比')
|
56
56
|
or col.endswith('环比') or col.lower().endswith('roi')
|
57
57
|
or col.endswith('产出比')):
|
58
|
-
df = df.astype({col:
|
58
|
+
df = df.astype({col: 'float64'}, errors='raise')
|
59
59
|
|
60
60
|
# 尝试转换合适的数据类型
|
61
61
|
if df[col].dtype == 'object':
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|