mdbq 2.3.9__py3-none-any.whl → 2.4.1__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.
@@ -736,6 +736,44 @@ class MysqlDatasQuery:
736
736
  )
737
737
  return df
738
738
 
739
+ def dmp_crowd(self):
740
+ start_date, end_date = self.months_data(num=self.months)
741
+ projection = {
742
+ '日期': 1,
743
+ '人群id': 1,
744
+ '人群规模': 1,
745
+ '用户年龄': 1,
746
+ '消费能力等级': 1,
747
+ '用户性别': 1,
748
+ }
749
+ # projection = {}
750
+ df_crowd = self.download.data_to_df(
751
+ db_name='达摩盘2',
752
+ table_name='我的人群属性',
753
+ start_date=start_date,
754
+ end_date=end_date,
755
+ projection=projection,
756
+ )
757
+ df_crowd.sort_values('日期', ascending=True, ignore_index=True, inplace=True)
758
+ df_crowd.drop_duplicates(subset=['人群id',], keep='last', inplace=True, ignore_index=True)
759
+ df_crowd.pop('日期')
760
+ # print(df_crowd)
761
+
762
+ projection = {}
763
+ df_dmp = self.download.data_to_df(
764
+ db_name='推广数据2',
765
+ table_name='达摩盘_dmp报表',
766
+ start_date=start_date,
767
+ end_date=end_date,
768
+ projection=projection,
769
+ )
770
+ df_dmp.sort_values('日期', ascending=True, ignore_index=True, inplace=True)
771
+ df_dmp.drop_duplicates(subset=['日期', '人群id', '消耗(元)'], keep='last', inplace=True, ignore_index=True)
772
+ df = pd.merge(df_dmp, df_crowd, left_on=['人群id'], right_on=['人群id'], how='left')
773
+ # df.to_csv('/Users/xigua/Downloads/test3.csv', index=False, header=True, encoding='utf-8_sig')
774
+ return df
775
+
776
+
739
777
 
740
778
  class GroupBy:
741
779
  """
@@ -881,7 +919,7 @@ class GroupBy:
881
919
  '成交gmv',
882
920
  ], keep='last', inplace=True, ignore_index=True)
883
921
  return df
884
- elif '人群报表' in table_name:
922
+ elif '天猫_人群报表' in table_name and '达摩盘' not in table_name:
885
923
  df.rename(columns={
886
924
  '场景名字': '营销场景',
887
925
  '主体id': '商品id',
@@ -1012,11 +1050,16 @@ class GroupBy:
1012
1050
  df_fl = pd.read_excel(dir_file, sheet_name='关键词分类', header=0)
1013
1051
  df_fl.rename(columns={'分类1': '词分类'}, inplace=True)
1014
1052
  df_fl = df_fl[['关键词', '词分类']]
1053
+ # 合并并获取词分类信息
1015
1054
  df = pd.merge(df, df_fl, left_on=['词名字/词包名字'], right_on=['关键词'], how='left')
1016
1055
  df.pop('关键词')
1017
1056
  df['词分类'].fillna('', inplace=True)
1018
1057
  if '词分类' in df.columns.tolist():
1019
- df['词分类'] = df.apply(lambda x: self.ret_keyword(keyword=str(x['词名字/词包名字']), as_file=False) if x['词分类'] == '' else x['词分类'], axis=1)
1058
+ # 这行决定了,从文件中读取的词分类信息优先级高于 ret_keyword 函数的词分类
1059
+ df['词分类'] = df.apply(
1060
+ lambda x: self.ret_keyword(keyword=str(x['词名字/词包名字']), as_file=False) if x['词分类'] == ''
1061
+ else x['词分类'], axis=1
1062
+ )
1020
1063
  else:
1021
1064
  df['词分类'] = df['词名字/词包名字'].apply(lambda x: self.ret_keyword(keyword=str(x), as_file=False))
1022
1065
  # df.to_csv('/Users/xigua/Downloads/test.csv', index=False, header=True, encoding='utf-8_sig')
@@ -1403,11 +1446,15 @@ class GroupBy:
1403
1446
  df.sort_values(['日期', '店铺', '花费'], ascending=[False, False, False], ignore_index=True, inplace=True)
1404
1447
  # df.to_csv('/Users/xigua/Downloads/test.csv', encoding='utf-8_sig', index=False, header=True)
1405
1448
  return df
1449
+ elif '达摩盘_人群报表' in table_name:
1450
+ return df
1451
+
1406
1452
  else:
1407
1453
  print(f'<{table_name}>: Groupby 类尚未配置,数据为空')
1408
1454
  return pd.DataFrame({})
1409
1455
 
1410
1456
  def ret_keyword(self, keyword, as_file=False):
1457
+ """ 推广关键词报表,关键词分类, """
1411
1458
  datas = [
1412
1459
  {
1413
1460
  '类别': '品牌词',
@@ -1444,6 +1491,12 @@ class GroupBy:
1444
1491
  '智选',
1445
1492
  ]
1446
1493
  },
1494
+ {
1495
+ '类别': '智能',
1496
+ '值': [
1497
+ '智能',
1498
+ ]
1499
+ },
1447
1500
  {
1448
1501
  '类别': '年份',
1449
1502
  '值': [
@@ -1942,6 +1995,12 @@ def data_aggregation(service_databases=[{}], months=1):
1942
1995
  '唯一主键': [],
1943
1996
  '数据主体': sdq.aikucun_bd_spu(),
1944
1997
  },
1998
+ {
1999
+ '数据库名': '聚合数据',
2000
+ '集合名': '达摩盘_人群报表',
2001
+ '唯一主键': [],
2002
+ '数据主体': sdq.dmp_crowd(),
2003
+ },
1945
2004
  ]
1946
2005
  for items in data_dict: # 遍历返回结果
1947
2006
  db_name, table_name, unique_key_list, df = items['数据库名'], items['集合名'], items['唯一主键'], items['数据主体']
mdbq/req_post/req_tb.py CHANGED
@@ -574,8 +574,8 @@ def company_run(service_databases=[]):
574
574
  r.is_json_file = False
575
575
 
576
576
  my_data_list = [
577
- r.ys_ll_data(), # 双 11预售实时流量分析
578
- r.qxg_hx_data(), # 抢先购 预热期核心指标
577
+ # r.ys_ll_data(), # 双 11预售实时流量分析
578
+ # r.qxg_hx_data(), # 抢先购 预热期核心指标
579
579
  r.qxg_ll() # 抢先购 流量来源
580
580
  ]
581
581
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 2.3.9
3
+ Version: 2.4.1
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -5,7 +5,7 @@ mdbq/aggregation/aggregation.py,sha256=CS_gMBwPKQo7uId8BrsYNTjtCZKzRVV7gT4PfE2Q4
5
5
  mdbq/aggregation/df_types.py,sha256=U9i3q2eRPTDY8qAPTw7irzu-Tlg4CIySW9uYro81wdk,8125
6
6
  mdbq/aggregation/mysql_types.py,sha256=DQYROALDiwjJzjhaJfIIdnsrNs11i5BORlj_v6bp67Y,11062
7
7
  mdbq/aggregation/optimize_data.py,sha256=Wis40oL04M7E1pkvgNPjyVFAUe-zgjimjIVAikxYY8Y,4418
8
- mdbq/aggregation/query_data.py,sha256=sOsDzZM5C2w82SgCNbJGKYIvHNDmTb-NSQYGdJYjP10,93287
8
+ mdbq/aggregation/query_data.py,sha256=-YDu1aQDKaHty2PDlwWqP2sOE35YgpMjHxRZsU1IOTw,95631
9
9
  mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
10
10
  mdbq/bdup/bdup.py,sha256=LAV0TgnQpc-LB-YuJthxb0U42_VkPidzQzAagan46lU,4234
11
11
  mdbq/clean/__init__.py,sha256=A1d6x3L27j4NtLgiFV5TANwEkLuaDfPHDQNrPBbNWtU,41
@@ -38,10 +38,10 @@ mdbq/pbix/pbix_refresh.py,sha256=JUjKW3bNEyoMVfVfo77UhguvS5AWkixvVhDbw4_MHco,239
38
38
  mdbq/pbix/refresh_all.py,sha256=viOlLCmz9zg61Q2nzjgl8dChfQxnxRd1A_jmQMb2oDM,5918
39
39
  mdbq/pbix/refresh_all_old.py,sha256=_pq3WSQ728GPtEG5pfsZI2uTJhU8D6ra-htIk1JXYzw,7192
40
40
  mdbq/req_post/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
41
- mdbq/req_post/req_tb.py,sha256=iHxRtjJbKq030ZpnNiTaIePoGEjlk0libXXc3BNmSqw,36175
41
+ mdbq/req_post/req_tb.py,sha256=PexWSCPJNM6Tv0ol4lAWIhlOwsAr_frnjtcdSHCFiek,36179
42
42
  mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
43
43
  mdbq/spider/aikucun.py,sha256=Olq7IJP9itM4wuNxZeHOG-Q3i8wWyB4hY8TUGGwCvQ0,14104
44
- mdbq-2.3.9.dist-info/METADATA,sha256=6MfZr_4oz_NmKDHcgaIa5lq-VIa5mScviCagzwngxQg,245
45
- mdbq-2.3.9.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
46
- mdbq-2.3.9.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
47
- mdbq-2.3.9.dist-info/RECORD,,
44
+ mdbq-2.4.1.dist-info/METADATA,sha256=fFux_keD8d_VJEwvggepJaPw3vfFzypq3YEGbBfEGzc,245
45
+ mdbq-2.4.1.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
46
+ mdbq-2.4.1.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
47
+ mdbq-2.4.1.dist-info/RECORD,,
File without changes