diff --git a/Lançamentos/Script_lançamento_boti_v2.ipynb b/Lançamentos/Script_lançamento_boti_v2.ipynb index 846b989..bd8a839 100644 --- a/Lançamentos/Script_lançamento_boti_v2.ipynb +++ b/Lançamentos/Script_lançamento_boti_v2.ipynb @@ -99,16 +99,16 @@ " \n", " \n", " \n", - " 2409\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", + " 2451\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", " BOTICARIO\n", - " 2025-10-13\n", - " 15\n", + " 2025-11-03\n", + " 16\n", " C2025\n", - " C202518\n", + " C202519\n", " 59\n", " 1\n", " \n", @@ -118,10 +118,10 @@ ], "text/plain": [ " Ciclo INICIO CICLO FIM CICLO DURAÇÃO MARCA Date \\\n", - "2409 C202515 2025-10-13 2025-11-02 21 BOTICARIO 2025-10-13 \n", + "2451 C202516 2025-11-03 2025-11-30 28 BOTICARIO 2025-11-03 \n", "\n", " NUM_CICLO ANO_CICLO CICLOMAIS2 dias_ate_inicio match \n", - "2409 15 C2025 C202518 59 1 " + "2451 16 C2025 C202519 59 1 " ] }, "execution_count": 4, @@ -152,7 +152,7 @@ { "data": { "text/plain": [ - "'C202515'" + "'C202516'" ] }, "execution_count": 6, @@ -171,7 +171,7 @@ "metadata": {}, "outputs": [], "source": [ - "df_similares = pd.read_excel(r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\BD_LANÇAMENTOS\\BOT\\BOT - C15\\arquivos para geração da sugestão\\SIMILARES\\PRODUTOS SIMILARES - BOT.xlsx\")\n", + "df_similares = pd.read_excel(r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\BD_LANÇAMENTOS\\BOT\\BOT - C16\\arquivos para geração da sugestão\\SIMILARES\\PRODUTOS SIMILARES - BOT.xlsx\")\n", "\n", "df_similares = pd.merge(left=df_similares,right=calendario[['Ciclo','INICIO CICLO','FIM CICLO','DURAÇÃO']], how= 'left', left_on = 'CICLO SIMILAR',right_on = 'Ciclo' )\n", "\n", @@ -202,91 +202,11 @@ { "cell_type": "code", "execution_count": 9, - "id": "1fdd05a3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "PRODUTO SIMILAR\n", - "52004 1\n", - "52008 1\n", - "52005 1\n", - "72929 1\n", - "53389 1\n", - "57474 1\n", - "52012 1\n", - "58138 1\n", - "49973 1\n", - "1006 1\n", - "53342 1\n", - "47963 1\n", - "84056 1\n", - "25458 1\n", - "48136 1\n", - "51448 1\n", - "1004 1\n", - "58373 1\n", - "75792 1\n", - "55659 1\n", - "48635 1\n", - "48621 1\n", - "59306 1\n", - "49225 1\n", - "49228 1\n", - "57759 1\n", - "55766 1\n", - "87000 1\n", - "87771 1\n", - "Name: count, dtype: int64" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "\n", - "df_similares = df_similares[df_similares['PRODUTO SIMILAR']!= 'nan']\n", - "\n", - "df_similares['PRODUTO SIMILAR'].value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "99ea95e6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['PRODUTO LANÇAMENTO', 'DESCRIÇÃO DO LANÇAMENTO', 'PRODUTO SIMILAR',\n", - " 'DESCRIÇÃO SIMILAR', 'CICLO SIMILAR', 'FOCO', 'IAF', 'CATEGORIA',\n", - " 'MARCA', '% CONSUMIDOR', 'MECANICA CONSUMIDOR', '% REVENDEDOR',\n", - " 'MECANICA REVENDEDOR', 'TIPO DE PRODUTO', 'MATCH'],\n", - " dtype='object')" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_similares.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 11, "id": "fe922f62", "metadata": {}, "outputs": [], "source": [ - "df_tabela = pd.read_excel(r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\BD_LANÇAMENTOS\\BOT\\BOT - C14\\arquivos para geração da sugestão\\TABELA DE PEDIDO\\Pedidos Semanais Especiais - BOT - 202514.xlsx\")\n", + "df_tabela = pd.read_excel(r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\BD_LANÇAMENTOS\\BOT\\BOT - C16\\arquivos para geração da sugestão\\TABELA DE PEDIDO\\Pedidos Semanais Especiais - BOT - 202516.xlsx\")\n", "\n", "df_tabela = df_tabela[df_tabela['Região'] == 'NNE'] \n", "\n", @@ -299,21 +219,21 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "id": "e0c55962", "metadata": {}, "outputs": [], "source": [ "df_pdv = pd.read_excel(r\"C:\\Users\\joao.herculano\\Documents\\PDV_ATT.xlsx\")\n", - "df_pdv = df_pdv[~df_pdv['PDV'].isin(['910173', '910291'])]\n", + "df_pdv = df_pdv[~df_pdv['PDV'].isin([910173, 910291])]\n", "\n", "df_pdv_origi = pd.read_excel(r\"C:\\Users\\joao.herculano\\Documents\\PDV_ATT.xlsx\")\n", - "df_pdv_origi = df_pdv_origi[~df_pdv_origi['PDV'].isin(['910173', '910291'])]" + "df_pdv_origi = df_pdv_origi[~df_pdv_origi['PDV'].isin([910173, 910291])]" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "id": "f93735d1", "metadata": {}, "outputs": [ @@ -354,46 +274,28 @@ " \n", " \n", " \n", - " \n", - " 82\n", - " 24293\n", - " HIB\n", - " COMERCIO-HIB MORRO DO CHAPEU\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " BA3\n", - " O BOTICARIO\n", - " MARCYARA\n", - " Alysson\n", - " Arianne Sodré [Provisório]\n", - " ATIVO\n", - " \n", " \n", "\n", "" ], "text/plain": [ - " PDV CANAL DESCRIÇÃO PDV DESC REGIÃO ESTADO CIDADE \\\n", - "82 24293 HIB COMERCIO-HIB MORRO DO CHAPEU NaN NaN NaN NaN \n", - "\n", - " UF MARCA ANALISTA GESTÃO SUPERVISOR STATUS \n", - "82 BA3 O BOTICARIO MARCYARA Alysson Arianne Sodré [Provisório] ATIVO " + "Empty DataFrame\n", + "Columns: [PDV, CANAL, DESCRIÇÃO, PDV DESC, REGIÃO, ESTADO, CIDADE, UF, MARCA, ANALISTA, GESTÃO, SUPERVISOR, STATUS]\n", + "Index: []" ] }, - "execution_count": 13, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df_pdv[df_pdv['PDV']==24293]" + "df_pdv[df_pdv['PDV']==910291]" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "id": "a3a045d9", "metadata": {}, "outputs": [], @@ -420,7 +322,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 13, "id": "df04a501", "metadata": {}, "outputs": [], @@ -432,76 +334,384 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 14, "id": "0da911af", "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_31644\\1001187263.py:39: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.\n", + " dfi = pd.read_sql(query, conn)\n" + ] + } + ], + "source": [ + "import pyodbc\n", + "import configparser\n", + "\n", + "#query de vendas por ciclo\n", + "\n", + "config = configparser.ConfigParser()\n", + "config.read(r\"C:\\Users\\joao.herculano\\Documents\\Enviador de email\\credenciais.ini\")\n", + "\n", + "conn = pyodbc.connect(\n", + " f\"DRIVER={{SQL Server}};\"\n", + " f\"SERVER={config['banco']['host']},1433;\"\n", + " f\"DATABASE=GINSENG;\"\n", + " f\"UID={config['banco']['user']};\"\n", + " f\"PWD={config['banco']['password']}\"\n", + ")\n", + "\n", + "query = f'''\n", + "SELECT \n", + " B.PDV, \n", + " B.SKU,\n", + " bd.SKU2, \n", + " COALESCE(bd.SKU2, b.SKU) AS SKU_FINAL,\n", + " B.DESCRICAO,\n", + " SUM(CAST(b.VENDAS AS DECIMAL(18,2))) AS VENDAS_CICLO,\n", + " C.Ciclo\n", + "FROM base_vendas_bi b\n", + "INNER JOIN ciclos_data_2025 c \n", + " ON CAST(b.[DATA] AS DATE) = CONVERT(DATE, c.[Date], 103) AND C.MARCA = 'BOT'\n", + "LEFT JOIN base_depara bd on b.SKU = bd.SKU \n", + "WHERE CAST(b.[DATA] AS DATE) >= DATEADD(YEAR, -1, GETDATE())\n", + "GROUP BY\n", + " B.PDV, \n", + " B.SKU,\n", + " bd.SKU2,\n", + " B.DESCRICAO,\n", + " C.Ciclo\n", + "HAVING SUM(CAST(b.VENDAS AS DECIMAL(18,2))) > 0\n", + "'''\n", + "dfi = pd.read_sql(query, conn)\n", + "conn.close()\n", + "\n", + "dfi['SKU2'] = dfi['SKU2'].fillna(\"-\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "20634105", + "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PDVSKU_FINALDESCRICAOC202413C202414C202415C202416C202417C202501C202502...C202504C202505C202506C202507C202508C202509C202510C202511C202512C202513
0125221004FLORATTA DES COL MY BLUE 75ml15.02.03.056.06.01.011.0...5.012.07.02.00.01.02.05.03.00.0
1125221080INTENSE GLOS LAB BUBBAL TUT/FRUT 5ml0.04.00.010.02.02.01.0...3.01.07.017.00.00.00.00.00.00.0
2125221296PMPCK THE BLEND DES ANTIT AER 2x75g1.03.03.02.00.00.00.0...0.00.00.00.00.00.00.00.00.02.0
3125221302PMPCK LILY DES ANTIT AER 2x75g2.03.05.06.00.00.00.0...0.00.03.04.00.04.04.02.01.02.0
4125221314PMPCK ZAAD DES ANTIT AER 2x75g0.03.01.01.00.00.00.0...0.00.00.00.00.00.00.01.01.00.0
\n", + "

5 rows × 21 columns

\n", + "
" + ], "text/plain": [ - "(141690, 47)" + " PDV SKU_FINAL DESCRICAO C202413 C202414 \\\n", + "0 12522 1004 FLORATTA DES COL MY BLUE 75ml 15.0 2.0 \n", + "1 12522 1080 INTENSE GLOS LAB BUBBAL TUT/FRUT 5ml 0.0 4.0 \n", + "2 12522 1296 PMPCK THE BLEND DES ANTIT AER 2x75g 1.0 3.0 \n", + "3 12522 1302 PMPCK LILY DES ANTIT AER 2x75g 2.0 3.0 \n", + "4 12522 1314 PMPCK ZAAD DES ANTIT AER 2x75g 0.0 3.0 \n", + "\n", + " C202415 C202416 C202417 C202501 C202502 ... C202504 C202505 \\\n", + "0 3.0 56.0 6.0 1.0 11.0 ... 5.0 12.0 \n", + "1 0.0 10.0 2.0 2.0 1.0 ... 3.0 1.0 \n", + "2 3.0 2.0 0.0 0.0 0.0 ... 0.0 0.0 \n", + "3 5.0 6.0 0.0 0.0 0.0 ... 0.0 0.0 \n", + "4 1.0 1.0 0.0 0.0 0.0 ... 0.0 0.0 \n", + "\n", + " C202506 C202507 C202508 C202509 C202510 C202511 C202512 C202513 \n", + "0 7.0 2.0 0.0 1.0 2.0 5.0 3.0 0.0 \n", + "1 7.0 17.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.0 \n", + "3 3.0 4.0 0.0 4.0 4.0 2.0 1.0 2.0 \n", + "4 0.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0 \n", + "\n", + "[5 rows x 21 columns]" ] }, - "execution_count": 16, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Caminho onde estão as subpastas com os arquivos CSV\n", "\n", - "# Set the path to the folder containing CSV files\n", - "folder_path = r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\BD_LANÇAMENTOS\\BOT\\Bot - C13\\LANÇAMENTOS\\arquivos para geração da sugestão\\DRAFT\" # arquivo dos drafts\n", + "# 1. Agrupamento\n", + "df_agrupado = dfi.groupby(['PDV', 'SKU_FINAL', 'DESCRICAO', 'Ciclo'], as_index=False)['VENDAS_CICLO'].sum()\n", "\n", - "# Pattern to match all CSV files\n", - "csv_files = glob.glob(os.path.join(folder_path, '*.csv'))\n", + "# 2. Pivotar o DataFrame\n", + "df_pivotado = df_agrupado.pivot_table(\n", + " index=['PDV', 'SKU_FINAL', 'DESCRICAO'],\n", + " columns='Ciclo',\n", + " values='VENDAS_CICLO',\n", + " fill_value=0 # Substitui NaN por 0\n", + ")\n", "\n", - "# Read and concat all CSVs\n", - "df_draft = pd.concat([pd.read_csv(file) for file in csv_files], ignore_index=True)\n", + "# 3. Resetar o índice para deixar como DataFrame normal (opcional)\n", + "df_pivotadowawa = df_pivotado.reset_index()\n", "\n", - "df_draft['match'] = 1 \n", + "# 4. (Opcional) Renomear colunas com prefixo \"Ciclo_\"\n", + "df_pivotadowawa.columns.name = None\n", + "df_pivotadowawa = df_pivotadowawa.rename(columns=lambda x: f'Ciclo_{x}' if isinstance(x, (int, str)) and str(x).isdigit() else x)\n", "\n", - "df_draft.shape\n" + "# Resultado final\n", + "df_pivotadowawa.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "8289d835", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_31644\\268247862.py:25: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.\n", + " df_draft_ = pd.read_sql(query_est_draft, conn)\n" + ] + } + ], + "source": [ + "conn = pyodbc.connect(\n", + " f\"DRIVER={{SQL Server}};\"\n", + " f\"SERVER={config['banco']['host']},1433;\"\n", + " f\"DATABASE=GINSENG;\"\n", + " f\"UID={config['banco']['user']};\"\n", + " f\"PWD={config['banco']['password']}\"\n", + ")\n", + "\n", + "query_est_draft = f'''\n", + "select em.PDV ,\n", + "COALESCE(em.SKU_PARA , em.SKU) as SKU,\n", + "em.DESCRICAO,\n", + "d.salescurve as curva,\n", + "d.codcategory as categoria,\n", + "d.nextcycleprojection as proj_mar\n", + ",d.secondtonextcycleprojection as 'proj_mar+1',\n", + "em.[ESTOQUE ATUAL],em.[ESTOQUE EM TRANSITO],\n", + "em.[PEDIDO PENDENTE],\n", + "em.[DDV PREVISTO] ,\n", + "d.pricesellin as 'preço'\n", + "from estoque_mar em \n", + "left join draft d on d.code = COALESCE(em.SKU_PARA , em.SKU) and d.loja_id = em.PDV \n", + "where em.ORIGEM = 'BOT'\n", + "'''\n", + "df_draft_ = pd.read_sql(query_est_draft, conn)\n", + "conn.close()\n", + "\n", + "#FALTA ATUALIZAR QUERY" ] }, { "cell_type": "code", "execution_count": 17, - "id": "0c8c7493", + "id": "dd49288f", "metadata": {}, "outputs": [], "source": [ - "df_draft = df_draft.drop(columns=['Categoria'])" + "df_draft = df_draft_" ] }, { "cell_type": "code", "execution_count": 18, - "id": "91298cde", + "id": "67dd3c27", "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_31644\\1474679865.py:3: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df_draft['ESTOQUE ATUAL'] = df_draft['ESTOQUE ATUAL'].astype(float)\n", + "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_31644\\1474679865.py:5: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df_draft['ESTOQUE EM TRANSITO'] = df_draft['ESTOQUE EM TRANSITO'].astype(float)\n", + "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_31644\\1474679865.py:7: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df_draft['PEDIDO PENDENTE'] = df_draft['PEDIDO PENDENTE'].astype(float)\n" + ] + }, { "data": { "text/plain": [ - "Index(['Histórico de Vendas do Ciclo 202410',\n", - " 'Histórico de Vendas do Ciclo 202411',\n", - " 'Histórico de Vendas do Ciclo 202412',\n", - " 'Histórico de Vendas do Ciclo 202413',\n", - " 'Histórico de Vendas do Ciclo 202414',\n", - " 'Histórico de Vendas do Ciclo 202415',\n", - " 'Histórico de Vendas do Ciclo 202416',\n", - " 'Histórico de Vendas do Ciclo 202417',\n", - " 'Histórico de Vendas do Ciclo 202501',\n", - " 'Histórico de Vendas do Ciclo 202502',\n", - " 'Histórico de Vendas do Ciclo 202503',\n", - " 'Histórico de Vendas do Ciclo 202504',\n", - " 'Histórico de Vendas do Ciclo 202505',\n", - " 'Histórico de Vendas do Ciclo 202506',\n", - " 'Histórico de Vendas do Ciclo 202507',\n", - " 'Histórico de Vendas do Ciclo 202508',\n", - " 'Histórico de Vendas do Ciclo 202509',\n", - " 'Histórico de Vendas do Ciclo Atual'],\n", - " dtype='object')" + "(356210, 12)" ] }, "execution_count": 18, @@ -510,12 +720,113 @@ } ], "source": [ - "df_draft.columns[7:25]" + "df_draft = df_draft[~df_draft['DESCRICAO'].str.contains('OUI', na=False)]\n", + "\n", + "df_draft['ESTOQUE ATUAL'] = df_draft['ESTOQUE ATUAL'].astype(float)\n", + "\n", + "df_draft['ESTOQUE EM TRANSITO'] = df_draft['ESTOQUE EM TRANSITO'].astype(float)\n", + "\n", + "df_draft['PEDIDO PENDENTE'] = df_draft['PEDIDO PENDENTE'].astype(float)\n", + "\n", + "df_draft.shape" ] }, { "cell_type": "code", "execution_count": 19, + "id": "355778d6", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_31644\\1952797845.py:1: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df_draft['DDV PREVISTO'] = df_draft['DDV PREVISTO'].str.replace(',','.')\n", + "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_31644\\1952797845.py:3: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df_draft['DDV PREVISTO'] = df_draft['DDV PREVISTO'].astype(float)\n", + "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_31644\\1952797845.py:5: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df_draft['DDV PREVISTO'] = df_draft['DDV PREVISTO'].fillna(0)\n" + ] + } + ], + "source": [ + "df_draft['DDV PREVISTO'] = df_draft['DDV PREVISTO'].str.replace(',','.')\n", + "\n", + "df_draft['DDV PREVISTO'] = df_draft['DDV PREVISTO'].astype(float)\n", + "\n", + "df_draft['DDV PREVISTO'] = df_draft['DDV PREVISTO'].fillna(0)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "d891c575", + "metadata": {}, + "outputs": [], + "source": [ + "df_draft = df_draft.groupby(['PDV','SKU','curva','categoria'])[['proj_mar','proj_mar+1','ESTOQUE ATUAL','ESTOQUE EM TRANSITO','PEDIDO PENDENTE','DDV PREVISTO','preço']].max().reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "3d13ef4c", + "metadata": {}, + "outputs": [], + "source": [ + "df_draft['SKU'] = df_draft['SKU'].astype('Int64')" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "5ca66c75", + "metadata": {}, + "outputs": [], + "source": [ + "df_draft = pd.merge(df_draft,df_pivotadowawa,left_on=['PDV','SKU'],right_on=['PDV','SKU_FINAL'],how='inner')" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "91298cde", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['C202413', 'C202414', 'C202415', 'C202416', 'C202417', 'C202501',\n", + " 'C202502', 'C202503', 'C202504', 'C202505', 'C202506', 'C202507',\n", + " 'C202508', 'C202509', 'C202510', 'C202511', 'C202512', 'C202513'],\n", + " dtype='object')" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_draft.columns[13:31]" + ] + }, + { + "cell_type": "code", + "execution_count": 24, "id": "ed859826", "metadata": {}, "outputs": [ @@ -541,407 +852,43 @@ " \n", " \n", " PDV\n", - " Classe\n", " SKU\n", - " Descrição\n", - " Subcategoria\n", - " Lançamento\n", - " Desativação\n", - " Histórico de Vendas do Ciclo 202410\n", - " Histórico de Vendas do Ciclo 202411\n", - " Histórico de Vendas do Ciclo 202412\n", + " curva\n", + " categoria\n", + " proj_mar\n", + " proj_mar+1\n", + " ESTOQUE ATUAL\n", + " ESTOQUE EM TRANSITO\n", + " PEDIDO PENDENTE\n", + " DDV PREVISTO\n", " ...\n", - " Item Desativado\n", - " Data Prevista Regularização\n", - " Carteira Bloqueada Para Novos Pedidos\n", - " Planograma\n", - " Quantidade por caixa\n", - " Preço Sell In\n", - " Quantidade\n", - " Item analisado\n", - " Histórico de Vendas do Ciclo 202409\n", - " match\n", + " C202504\n", + " C202505\n", + " C202506\n", + " C202507\n", + " C202508\n", + " C202509\n", + " C202510\n", + " C202511\n", + " C202512\n", + " C202513\n", " \n", " \n", " \n", - " \n", - " 12\n", - " 24293\n", - " C\n", - " 49014\n", - " ACCORDES CREM DES HID CPO 200ml V2\n", - " CUIDADOS COM O CORPO\n", - " NaN\n", - " NaN\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " Não\n", - " 0\n", - " Não\n", - " 0.0\n", - " 54\n", - " 17.49\n", - " 0\n", - " Não\n", - " NaN\n", - " 1\n", - " \n", - " \n", - " 90\n", - " 24293\n", - " C\n", - " 49016\n", - " ACCORDES DES BDY SPR 100ml V6\n", - " DESODORANTE FEMININO\n", - " NaN\n", - " NaN\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " Não\n", - " 0\n", - " Não\n", - " 0.0\n", - " 85\n", - " 16.77\n", - " 0\n", - " Não\n", - " NaN\n", - " 1\n", - " \n", - " \n", - " 168\n", - " 24293\n", - " B\n", - " 48141\n", - " ACCORDES DES COL 80ml V5\n", - " PERFUMARIA FEMININA\n", - " NaN\n", - " NaN\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " Não\n", - " 0\n", - " Não\n", - " 0.0\n", - " 41\n", - " 63.24\n", - " 0\n", - " Não\n", - " NaN\n", - " 1\n", - " \n", - " \n", - " 246\n", - " 24293\n", - " B\n", - " 51213\n", - " ACCORDES DES COL HARMONIA 80ml V4\n", - " PERFUMARIA FEMININA\n", - " NaN\n", - " NaN\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " Não\n", - " Baixo Atendimento\n", - " Não\n", - " 0.0\n", - " 41\n", - " 63.24\n", - " 0\n", - " Não\n", - " NaN\n", - " 1\n", - " \n", - " \n", - " 324\n", - " 24293\n", - " E\n", - " 86017\n", - " ARBO CREM PRE/POS BARBA 100g\n", - " PRÉ-BARBEAR\n", - " C08\n", - " NaN\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " Não\n", - " 0\n", - " Não\n", - " 0.0\n", - " 80\n", - " 18.41\n", - " 0\n", - " Não\n", - " NaN\n", - " 1\n", - " \n", - " \n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " \n", - " \n", - " 141535\n", - " 24293\n", - " E\n", - " 50571\n", - " QDB SRUM FAC LEVANTA TUDO SKIN Q 30ml\n", - " HIDRATANTES E TRATAMENTOS\n", - " NaN\n", - " NaN\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " Não\n", - " 2025-08-18\n", - " Não\n", - " 0.0\n", - " 99\n", - " 31.64\n", - " 0\n", - " Não\n", - " 0.0\n", - " 1\n", - " \n", - " \n", - " 141567\n", - " 24293\n", - " E\n", - " 50574\n", - " QDB SRUM FAC PREENCHE TUDO SKIN 30ml\n", - " HIDRATANTES E TRATAMENTOS\n", - " NaN\n", - " NaN\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " Não\n", - " 0\n", - " Não\n", - " 0.0\n", - " 99\n", - " 31.64\n", - " 0\n", - " Não\n", - " 0.0\n", - " 1\n", - " \n", - " \n", - " 141599\n", - " 24293\n", - " E\n", - " 9403\n", - " QDB SRUM FAC TRIP COMB SKIN Q 30ml\n", - " HIDRATANTES E TRATAMENTOS\n", - " NaN\n", - " NaN\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " Não\n", - " 0\n", - " Não\n", - " 0.0\n", - " 99\n", - " 31.64\n", - " 0\n", - " Não\n", - " 0.0\n", - " 1\n", - " \n", - " \n", - " 141629\n", - " 24293\n", - " E\n", - " 50568\n", - " QDB SRUM REST FAC ACORD/GLOW SKIN Q 30ml\n", - " HIDRATANTES E TRATAMENTOS\n", - " NaN\n", - " NaN\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " Não\n", - " 2025-07-16\n", - " Não\n", - " 0.0\n", - " 99\n", - " 27.32\n", - " 0\n", - " Não\n", - " 0.0\n", - " 1\n", - " \n", - " \n", - " 141661\n", - " 24293\n", - " E\n", - " 53912\n", - " QDB TOALHA DEMAQ ALG\n", - " FUNCIONAIS MAQUIAGEM\n", - " NaN\n", - " NaN\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " Não\n", - " 0\n", - " Não\n", - " 0.0\n", - " 84\n", - " 17.77\n", - " 0\n", - " Não\n", - " 0.0\n", - " 1\n", - " \n", " \n", "\n", - "

2557 rows × 46 columns

\n", + "

0 rows × 31 columns

\n", "" ], "text/plain": [ - " PDV Classe SKU Descrição \\\n", - "12 24293 C 49014 ACCORDES CREM DES HID CPO 200ml V2 \n", - "90 24293 C 49016 ACCORDES DES BDY SPR 100ml V6 \n", - "168 24293 B 48141 ACCORDES DES COL 80ml V5 \n", - "246 24293 B 51213 ACCORDES DES COL HARMONIA 80ml V4 \n", - "324 24293 E 86017 ARBO CREM PRE/POS BARBA 100g \n", - "... ... ... ... ... \n", - "141535 24293 E 50571 QDB SRUM FAC LEVANTA TUDO SKIN Q 30ml \n", - "141567 24293 E 50574 QDB SRUM FAC PREENCHE TUDO SKIN 30ml \n", - "141599 24293 E 9403 QDB SRUM FAC TRIP COMB SKIN Q 30ml \n", - "141629 24293 E 50568 QDB SRUM REST FAC ACORD/GLOW SKIN Q 30ml \n", - "141661 24293 E 53912 QDB TOALHA DEMAQ ALG \n", + "Empty DataFrame\n", + "Columns: [PDV, SKU, curva, categoria, proj_mar, proj_mar+1, ESTOQUE ATUAL, ESTOQUE EM TRANSITO, PEDIDO PENDENTE, DDV PREVISTO, preço, SKU_FINAL, DESCRICAO, C202413, C202414, C202415, C202416, C202417, C202501, C202502, C202503, C202504, C202505, C202506, C202507, C202508, C202509, C202510, C202511, C202512, C202513]\n", + "Index: []\n", "\n", - " Subcategoria Lançamento Desativação \\\n", - "12 CUIDADOS COM O CORPO NaN NaN \n", - "90 DESODORANTE FEMININO NaN NaN \n", - "168 PERFUMARIA FEMININA NaN NaN \n", - "246 PERFUMARIA FEMININA NaN NaN \n", - "324 PRÉ-BARBEAR C08 NaN \n", - "... ... ... ... \n", - "141535 HIDRATANTES E TRATAMENTOS NaN NaN \n", - "141567 HIDRATANTES E TRATAMENTOS NaN NaN \n", - "141599 HIDRATANTES E TRATAMENTOS NaN NaN \n", - "141629 HIDRATANTES E TRATAMENTOS NaN NaN \n", - "141661 FUNCIONAIS MAQUIAGEM NaN NaN \n", - "\n", - " Histórico de Vendas do Ciclo 202410 \\\n", - "12 0 \n", - "90 0 \n", - "168 0 \n", - "246 0 \n", - "324 0 \n", - "... ... \n", - "141535 0 \n", - "141567 0 \n", - "141599 0 \n", - "141629 0 \n", - "141661 0 \n", - "\n", - " Histórico de Vendas do Ciclo 202411 \\\n", - "12 0 \n", - "90 0 \n", - "168 0 \n", - "246 0 \n", - "324 0 \n", - "... ... \n", - "141535 0 \n", - "141567 0 \n", - "141599 0 \n", - "141629 0 \n", - "141661 0 \n", - "\n", - " Histórico de Vendas do Ciclo 202412 ... Item Desativado \\\n", - "12 0 ... Não \n", - "90 0 ... Não \n", - "168 0 ... Não \n", - "246 0 ... Não \n", - "324 0 ... Não \n", - "... ... ... ... \n", - "141535 0 ... Não \n", - "141567 0 ... Não \n", - "141599 0 ... Não \n", - "141629 0 ... Não \n", - "141661 0 ... Não \n", - "\n", - " Data Prevista Regularização Carteira Bloqueada Para Novos Pedidos \\\n", - "12 0 Não \n", - "90 0 Não \n", - "168 0 Não \n", - "246 Baixo Atendimento Não \n", - "324 0 Não \n", - "... ... ... \n", - "141535 2025-08-18 Não \n", - "141567 0 Não \n", - "141599 0 Não \n", - "141629 2025-07-16 Não \n", - "141661 0 Não \n", - "\n", - " Planograma Quantidade por caixa Preço Sell In Quantidade \\\n", - "12 0.0 54 17.49 0 \n", - "90 0.0 85 16.77 0 \n", - "168 0.0 41 63.24 0 \n", - "246 0.0 41 63.24 0 \n", - "324 0.0 80 18.41 0 \n", - "... ... ... ... ... \n", - "141535 0.0 99 31.64 0 \n", - "141567 0.0 99 31.64 0 \n", - "141599 0.0 99 31.64 0 \n", - "141629 0.0 99 27.32 0 \n", - "141661 0.0 84 17.77 0 \n", - "\n", - " Item analisado Histórico de Vendas do Ciclo 202409 match \n", - "12 Não NaN 1 \n", - "90 Não NaN 1 \n", - "168 Não NaN 1 \n", - "246 Não NaN 1 \n", - "324 Não NaN 1 \n", - "... ... ... ... \n", - "141535 Não 0.0 1 \n", - "141567 Não 0.0 1 \n", - "141599 Não 0.0 1 \n", - "141629 Não 0.0 1 \n", - "141661 Não 0.0 1 \n", - "\n", - "[2557 rows x 46 columns]" + "[0 rows x 31 columns]" ] }, - "execution_count": 19, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -952,7 +899,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 25, "id": "34e179cb", "metadata": {}, "outputs": [ @@ -960,14 +907,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_101180\\1463083786.py:24: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n", + "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_31644\\1731143361.py:24: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n", " crescimento_por_pdv = df_draft.groupby('PDV').apply(calcular_crescimento)\n" ] } ], "source": [ "# Define as colunas mensais\n", - "colunas_mensais = df_draft.columns[7:25]\n", + "colunas_mensais = df_draft.columns[13:31]\n", "\n", "# Agrupa por PDV e calcula crescimento médio por PDV\n", "def calcular_crescimento(grupo):\n", @@ -997,22 +944,22 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 26, "id": "94aa432f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 52004\n", - "1 52004\n", - "2 52004\n", - "3 52004\n", - "4 52004\n", + "0 57890\n", + "1 57890\n", + "2 57890\n", + "3 57890\n", + "4 57890\n", "Name: PRODUTO SIMILAR, dtype: Int64" ] }, - "execution_count": 21, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -1024,430 +971,42 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 27, + "id": "38b0eb5d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PDV object\n", + "SKU Int64\n", + "dtype: object" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_draft[['PDV', 'SKU']].dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 28, "id": "4bc8c2b4", "metadata": {}, "outputs": [], "source": [ - "df_similares['PDV'] = df_similares['PDV'].astype('Int64')\n", + "df_draft['PDV'] = df_draft['PDV'].astype('Int64')\n", "\n", "df_final = pd.merge(left=df_similares,right=df_draft,right_on=['PDV', 'SKU'],left_on=['PDV','PRODUTO SIMILAR'],how='left')" ] }, { "cell_type": "code", - "execution_count": 23, - "id": "aae416dd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
PRODUTO LANÇAMENTODESCRIÇÃO DO LANÇAMENTOPRODUTO SIMILARDESCRIÇÃO SIMILARCICLO SIMILARFOCOIAFCATEGORIAMARCA% CONSUMIDOR...Data Prevista RegularizaçãoCarteira Bloqueada Para Novos PedidosPlanogramaQuantidade por caixaPreço Sell InQuantidadeItem analisadoHistórico de Vendas do Ciclo 202409matchCRESCIMENTO
059823NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...52004NSPA LOC RAD DES HID CPO AMEI DOUR 400mlC202315SimSimCUIDADOS COM A PELENATIVA SPA31,07 | 39,52...0Não3.030.023.620.0NãoNaN1.0-0.0154
159823NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...52004NSPA LOC RAD DES HID CPO AMEI DOUR 400mlC202315SimSimCUIDADOS COM A PELENATIVA SPA31,07 | 39,52...0Não3.030.023.629.0NãoNaN1.0-0.0341
259823NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...52004NSPA LOC RAD DES HID CPO AMEI DOUR 400mlC202315SimSimCUIDADOS COM A PELENATIVA SPA31,07 | 39,52...0Não3.030.023.624.0NãoNaN1.0-0.0138
359823NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...52004NSPA LOC RAD DES HID CPO AMEI DOUR 400mlC202315SimSimCUIDADOS COM A PELENATIVA SPA31,07 | 39,52...0Não0.030.023.620.0NãoNaN1.0-0.0595
459823NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...52004NSPA LOC RAD DES HID CPO AMEI DOUR 400mlC202315SimSimCUIDADOS COM A PELENATIVA SPA31,07 | 39,52...0Não3.030.023.621.0NãoNaN1.0-0.0171
..................................................................
228687771MAKE B BLUSH COMP BERRY MINI PRM 1,5g8777100NãoNãoSUPORTE À VENDAMAKE B.-...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
228787771MAKE B BLUSH COMP BERRY MINI PRM 1,5g8777100NãoNãoSUPORTE À VENDAMAKE B.-...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
228887771MAKE B BLUSH COMP BERRY MINI PRM 1,5g8777100NãoNãoSUPORTE À VENDAMAKE B.-...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
228987771MAKE B BLUSH COMP BERRY MINI PRM 1,5g8777100NãoNãoSUPORTE À VENDAMAKE B.-...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
229087771MAKE B BLUSH COMP BERRY MINI PRM 1,5g8777100NãoNãoSUPORTE À VENDAMAKE B.-...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", - "

2291 rows × 69 columns

\n", - "
" - ], - "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "1 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "2 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "3 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "4 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "... ... ... \n", - "2286 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2287 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2288 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2289 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2290 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "\n", - " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "1 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "2 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "3 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "4 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "... ... ... ... \n", - "2286 87771 0 0 \n", - "2287 87771 0 0 \n", - "2288 87771 0 0 \n", - "2289 87771 0 0 \n", - "2290 87771 0 0 \n", - "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "1 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "2 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "3 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "4 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "... ... ... ... ... ... ... \n", - "2286 Não Não SUPORTE À VENDA MAKE B. - ... \n", - "2287 Não Não SUPORTE À VENDA MAKE B. - ... \n", - "2288 Não Não SUPORTE À VENDA MAKE B. - ... \n", - "2289 Não Não SUPORTE À VENDA MAKE B. - ... \n", - "2290 Não Não SUPORTE À VENDA MAKE B. - ... \n", - "\n", - " Data Prevista Regularização Carteira Bloqueada Para Novos Pedidos \\\n", - "0 0 Não \n", - "1 0 Não \n", - "2 0 Não \n", - "3 0 Não \n", - "4 0 Não \n", - "... ... ... \n", - "2286 NaN NaN \n", - "2287 NaN NaN \n", - "2288 NaN NaN \n", - "2289 NaN NaN \n", - "2290 NaN NaN \n", - "\n", - " Planograma Quantidade por caixa Preço Sell In Quantidade \\\n", - "0 3.0 30.0 23.62 0.0 \n", - "1 3.0 30.0 23.62 9.0 \n", - "2 3.0 30.0 23.62 4.0 \n", - "3 0.0 30.0 23.62 0.0 \n", - "4 3.0 30.0 23.62 1.0 \n", - "... ... ... ... ... \n", - "2286 NaN NaN NaN NaN \n", - "2287 NaN NaN NaN NaN \n", - "2288 NaN NaN NaN NaN \n", - "2289 NaN NaN NaN NaN \n", - "2290 NaN NaN NaN NaN \n", - "\n", - " Item analisado Histórico de Vendas do Ciclo 202409 match CRESCIMENTO \n", - "0 Não NaN 1.0 -0.0154 \n", - "1 Não NaN 1.0 -0.0341 \n", - "2 Não NaN 1.0 -0.0138 \n", - "3 Não NaN 1.0 -0.0595 \n", - "4 Não NaN 1.0 -0.0171 \n", - "... ... ... ... ... \n", - "2286 NaN NaN NaN NaN \n", - "2287 NaN NaN NaN NaN \n", - "2288 NaN NaN NaN NaN \n", - "2289 NaN NaN NaN NaN \n", - "2290 NaN NaN NaN NaN \n", - "\n", - "[2291 rows x 69 columns]" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_final" - ] - }, - { - "cell_type": "code", - "execution_count": 24, + "execution_count": 29, "id": "2c9f011d", "metadata": {}, "outputs": [ @@ -1455,39 +1014,26 @@ "data": { "text/plain": [ "PRODUTO SIMILAR\n", - "52004 79\n", - "52008 79\n", - "52005 79\n", - "72929 79\n", - "53389 79\n", - "57474 79\n", - "52012 79\n", - "58138 79\n", - "49973 79\n", - "1006 79\n", - "53342 79\n", - "47963 79\n", - "84056 79\n", - "25458 79\n", - "48136 79\n", - "51448 79\n", - "1004 79\n", - "58373 79\n", - "75792 79\n", - "55659 79\n", - "48635 79\n", - "48621 79\n", - "59306 79\n", - "49225 79\n", - "49228 79\n", - "57759 79\n", - "55766 79\n", - "87000 79\n", - "87771 79\n", + "57211 154\n", + "48999 154\n", + "48997 154\n", + "57890 77\n", + "58987 77\n", + "48685 77\n", + "56530 77\n", + "57871 77\n", + "51869 77\n", + "49418 77\n", + "49943 77\n", + "49893 77\n", + "56402 77\n", + "56385 77\n", + "48780 77\n", + "58132 77\n", "Name: count, dtype: Int64" ] }, - "execution_count": 24, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -1500,7 +1046,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 30, "id": "0ff66803", "metadata": {}, "outputs": [ @@ -1508,30 +1054,26 @@ "data": { "text/plain": [ "SKU\n", - "52004.0 77\n", - "52008.0 77\n", - "52005.0 77\n", - "53389.0 77\n", - "52012.0 77\n", - "58138.0 77\n", - "49973.0 77\n", - "47963.0 77\n", - "84056.0 77\n", - "25458.0 77\n", - "48136.0 77\n", - "51448.0 77\n", - "1004.0 77\n", - "75792.0 77\n", - "55659.0 77\n", - "48635.0 77\n", - "48621.0 77\n", - "59306.0 77\n", - "57759.0 77\n", - "55766.0 77\n", - "Name: count, dtype: int64" + "48997 154\n", + "48999 154\n", + "57211 140\n", + "49943 121\n", + "49893 91\n", + "57871 77\n", + "58987 77\n", + "56402 77\n", + "56385 77\n", + "57890 76\n", + "48780 75\n", + "51869 73\n", + "48685 72\n", + "49418 71\n", + "58132 66\n", + "56530 31\n", + "Name: count, dtype: Int64" ] }, - "execution_count": 25, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -1542,7 +1084,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 31, "id": "c1451562", "metadata": {}, "outputs": [], @@ -1553,7 +1095,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 32, "id": "64bde00b", "metadata": {}, "outputs": [], @@ -1566,7 +1108,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 33, "id": "6ab155b5", "metadata": {}, "outputs": [], @@ -1576,7 +1118,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 34, "id": "1d25e5df", "metadata": {}, "outputs": [ @@ -1669,7 +1211,7 @@ "4 C202416 " ] }, - "execution_count": 29, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -1680,7 +1222,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 35, "id": "5d0d79f2", "metadata": {}, "outputs": [ @@ -1773,7 +1315,7 @@ "4 C202416 " ] }, - "execution_count": 30, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1788,7 +1330,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 36, "id": "a93427da", "metadata": {}, "outputs": [ @@ -1881,7 +1423,7 @@ "4 C202416 " ] }, - "execution_count": 31, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -1908,7 +1450,61 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 37, + "id": "7d973983", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PDVSKUDESCRICAOVendas_TotalCiclo
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [PDV, SKU, DESCRICAO, Vendas_Total, Ciclo]\n", + "Index: []" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_venda_diaria[(df_venda_diaria['PDV']==14668) & (df_venda_diaria['SKU']=='85096')]" + ] + }, + { + "cell_type": "code", + "execution_count": 38, "id": "6ddec856", "metadata": {}, "outputs": [ @@ -2001,7 +1597,7 @@ "4 C202416 " ] }, - "execution_count": 32, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -2022,7 +1618,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 39, "id": "882e68aa", "metadata": {}, "outputs": [ @@ -2032,7 +1628,7 @@ "Index(['PDV', 'SKU', 'DESCRICAO', 'Vendas_Total', 'Ciclo'], dtype='object')" ] }, - "execution_count": 33, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -2043,7 +1639,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 40, "id": "0c288d75", "metadata": {}, "outputs": [ @@ -2199,7 +1795,7 @@ "[1663320 rows x 5 columns]" ] }, - "execution_count": 34, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -2210,7 +1806,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 41, "id": "c7ddaf20", "metadata": {}, "outputs": [], @@ -2228,7 +1824,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 42, "id": "7119556a", "metadata": {}, "outputs": [], @@ -2247,7 +1843,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 43, "id": "c707a1b6", "metadata": {}, "outputs": [], @@ -2260,7 +1856,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 44, "id": "083ff829", "metadata": {}, "outputs": [], @@ -2270,7 +1866,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 45, "id": "59707396", "metadata": {}, "outputs": [], @@ -2280,7 +1876,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 46, "id": "bdf6abbb", "metadata": {}, "outputs": [ @@ -2289,11 +1885,11 @@ "text/plain": [ "CICLO SIMILAR object\n", "PRODUTO SIMILAR Int64\n", - "PDV Int64\n", + "PDV int64\n", "dtype: object" ] }, - "execution_count": 40, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -2304,17 +1900,17 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 47, "id": "dc452c72", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(2291, 75)" + "(1527, 60)" ] }, - "execution_count": 41, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -2326,7 +1922,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 48, "id": "c260e0e3", "metadata": {}, "outputs": [], @@ -2336,7 +1932,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 49, "id": "c9de258b", "metadata": {}, "outputs": [ @@ -2372,184 +1968,184 @@ " MARCA\n", " % CONSUMIDOR\n", " ...\n", - " Item analisado\n", - " Histórico de Vendas do Ciclo 202409\n", - " match_x\n", + " C202511\n", + " C202512\n", + " C202513\n", " CRESCIMENTO\n", " Ciclo\n", " INICIO CICLO\n", " FIM CICLO\n", " DURAÇÃO\n", - " match_y\n", + " match\n", " dias_ate_inicio\n", " \n", " \n", " \n", " \n", " 0\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", - " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", - " ...\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", " Não\n", - " NaN\n", - " 1.0\n", - " -0.0154\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", + " Não\n", + " CUIDADOS COM A PELE\n", + " LILY\n", + " 15.01\n", + " ...\n", + " 2.0\n", + " 0.0\n", + " 0.0\n", + " 0.0382\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", " 1\n", " 59\n", " \n", " \n", " 1\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", - " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", - " ...\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", " Não\n", - " NaN\n", + " Não\n", + " CUIDADOS COM A PELE\n", + " LILY\n", + " 15.01\n", + " ...\n", + " 24.0\n", " 1.0\n", - " -0.0341\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", + " 0.0\n", + " -0.0456\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", " 1\n", " 59\n", " \n", " \n", " 2\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", - " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", - " ...\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", " Não\n", - " NaN\n", + " Não\n", + " CUIDADOS COM A PELE\n", + " LILY\n", + " 15.01\n", + " ...\n", + " 7.0\n", " 1.0\n", - " -0.0138\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", + " 0.0\n", + " 0.0433\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", " 1\n", " 59\n", " \n", " \n", " 3\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", - " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", - " ...\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", " Não\n", - " NaN\n", + " Não\n", + " CUIDADOS COM A PELE\n", + " LILY\n", + " 15.01\n", + " ...\n", " 1.0\n", - " -0.0595\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", + " 1.0\n", + " 0.0\n", + " -0.0701\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", " 1\n", " 59\n", " \n", " \n", " 4\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", - " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", - " ...\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", " Não\n", - " NaN\n", - " 1.0\n", - " -0.0171\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", + " Não\n", + " CUIDADOS COM A PELE\n", + " LILY\n", + " 15.01\n", + " ...\n", + " 0.0\n", + " 2.0\n", + " 0.0\n", + " 0.0421\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", " 1\n", " 59\n", " \n", " \n", "\n", - "

5 rows × 75 columns

\n", + "

5 rows × 60 columns

\n", "" ], "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "1 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "2 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "3 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "4 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "1 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "2 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "3 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "4 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", "\n", " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "1 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "2 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "3 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "4 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", + "0 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "1 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "2 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "3 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "4 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "1 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "2 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "3 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "4 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", + " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... C202511 C202512 \\\n", + "0 Não Não CUIDADOS COM A PELE LILY 15.01 ... 2.0 0.0 \n", + "1 Não Não CUIDADOS COM A PELE LILY 15.01 ... 24.0 1.0 \n", + "2 Não Não CUIDADOS COM A PELE LILY 15.01 ... 7.0 1.0 \n", + "3 Não Não CUIDADOS COM A PELE LILY 15.01 ... 1.0 1.0 \n", + "4 Não Não CUIDADOS COM A PELE LILY 15.01 ... 0.0 2.0 \n", "\n", - " Item analisado Histórico de Vendas do Ciclo 202409 match_x CRESCIMENTO \\\n", - "0 Não NaN 1.0 -0.0154 \n", - "1 Não NaN 1.0 -0.0341 \n", - "2 Não NaN 1.0 -0.0138 \n", - "3 Não NaN 1.0 -0.0595 \n", - "4 Não NaN 1.0 -0.0171 \n", + " C202513 CRESCIMENTO Ciclo INICIO CICLO FIM CICLO DURAÇÃO match \\\n", + "0 0.0 0.0382 C202516 2025-11-03 2025-11-30 28 1 \n", + "1 0.0 -0.0456 C202516 2025-11-03 2025-11-30 28 1 \n", + "2 0.0 0.0433 C202516 2025-11-03 2025-11-30 28 1 \n", + "3 0.0 -0.0701 C202516 2025-11-03 2025-11-30 28 1 \n", + "4 0.0 0.0421 C202516 2025-11-03 2025-11-30 28 1 \n", "\n", - " Ciclo INICIO CICLO FIM CICLO DURAÇÃO match_y dias_ate_inicio \n", - "0 C202515 2025-10-13 2025-11-02 21 1 59 \n", - "1 C202515 2025-10-13 2025-11-02 21 1 59 \n", - "2 C202515 2025-10-13 2025-11-02 21 1 59 \n", - "3 C202515 2025-10-13 2025-11-02 21 1 59 \n", - "4 C202515 2025-10-13 2025-11-02 21 1 59 \n", + " dias_ate_inicio \n", + "0 59 \n", + "1 59 \n", + "2 59 \n", + "3 59 \n", + "4 59 \n", "\n", - "[5 rows x 75 columns]" + "[5 rows x 60 columns]" ] }, - "execution_count": 43, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -2560,7 +2156,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 50, "id": "8a05450c", "metadata": {}, "outputs": [], @@ -2573,7 +2169,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 51, "id": "cc65edab", "metadata": {}, "outputs": [ @@ -2666,7 +2262,7 @@ "4 2 C202416 " ] }, - "execution_count": 45, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -2679,28 +2275,28 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 52, "id": "6367ac21", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 C202315\n", - "14 C202315\n", - "28 C202315\n", - "42 C202315\n", - "56 C202315\n", + "0 C202415\n", + "21 C202415\n", + "42 C202415\n", + "63 C202415\n", + "84 C202415\n", " ... \n", - "19192 0\n", - "19193 0\n", - "19194 0\n", - "19195 0\n", - "19196 0\n", - "Name: CICLO SIMILAR, Length: 2291, dtype: object" + "25683 0\n", + "25684 0\n", + "25685 0\n", + "25686 0\n", + "25687 0\n", + "Name: CICLO SIMILAR, Length: 1527, dtype: object" ] }, - "execution_count": 46, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -2712,7 +2308,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 53, "id": "b0af59cb", "metadata": {}, "outputs": [ @@ -2745,32 +2341,32 @@ " \n", " \n", " 0\n", - " C202315\n", - " 52004\n", + " C202415\n", + " 57890\n", " 12522\n", " \n", " \n", - " 14\n", - " C202315\n", - " 52004\n", + " 21\n", + " C202415\n", + " 57890\n", " 12817\n", " \n", " \n", - " 28\n", - " C202315\n", - " 52004\n", + " 42\n", + " C202415\n", + " 57890\n", " 12818\n", " \n", " \n", - " 42\n", - " C202315\n", - " 52004\n", + " 63\n", + " C202415\n", + " 57890\n", " 12820\n", " \n", " \n", - " 56\n", - " C202315\n", - " 52004\n", + " 84\n", + " C202415\n", + " 57890\n", " 12823\n", " \n", " \n", @@ -2779,14 +2375,14 @@ ], "text/plain": [ " CICLO SIMILAR PRODUTO SIMILAR PDV\n", - "0 C202315 52004 12522\n", - "14 C202315 52004 12817\n", - "28 C202315 52004 12818\n", - "42 C202315 52004 12820\n", - "56 C202315 52004 12823" + "0 C202415 57890 12522\n", + "21 C202415 57890 12817\n", + "42 C202415 57890 12818\n", + "63 C202415 57890 12820\n", + "84 C202415 57890 12823" ] }, - "execution_count": 47, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -2797,7 +2393,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 54, "id": "72925ca7", "metadata": {}, "outputs": [], @@ -2810,7 +2406,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 55, "id": "8b0bb174", "metadata": {}, "outputs": [ @@ -2822,41 +2418,18 @@ " 'MARCA', '% CONSUMIDOR', 'MECANICA CONSUMIDOR', '% REVENDEDOR',\n", " 'MECANICA REVENDEDOR', 'TIPO DE PRODUTO', 'MATCH', 'PDV', 'CANAL',\n", " 'DESCRIÇÃO PDV', 'PDV DESC', 'UF', 'ANALISTA', 'SUPERVISOR', 'STATUS',\n", - " 'Classe', 'SKU', 'Descrição', 'Subcategoria', 'Lançamento',\n", - " 'Desativação', 'Histórico de Vendas do Ciclo 202410',\n", - " 'Histórico de Vendas do Ciclo 202411',\n", - " 'Histórico de Vendas do Ciclo 202412',\n", - " 'Histórico de Vendas do Ciclo 202413',\n", - " 'Histórico de Vendas do Ciclo 202414',\n", - " 'Histórico de Vendas do Ciclo 202415',\n", - " 'Histórico de Vendas do Ciclo 202416',\n", - " 'Histórico de Vendas do Ciclo 202417',\n", - " 'Histórico de Vendas do Ciclo 202501',\n", - " 'Histórico de Vendas do Ciclo 202502',\n", - " 'Histórico de Vendas do Ciclo 202503',\n", - " 'Histórico de Vendas do Ciclo 202504',\n", - " 'Histórico de Vendas do Ciclo 202505',\n", - " 'Histórico de Vendas do Ciclo 202506',\n", - " 'Histórico de Vendas do Ciclo 202507',\n", - " 'Histórico de Vendas do Ciclo 202508',\n", - " 'Histórico de Vendas do Ciclo 202509',\n", - " 'Histórico de Vendas do Ciclo Atual', 'Dias sem venda',\n", - " 'Projeção Próximo Ciclo', 'Projeção Próximo Ciclo + 1',\n", - " 'Promoção Próximo Ciclo', 'Promoção Próximo Ciclo + 1', 'Estoque Atual',\n", - " 'Estoque em Transito', 'Pedido Pendente',\n", - " 'Compra inteligente semanal/Sugestão de compra',\n", - " 'Compra inteligente Próximo Ciclo',\n", - " 'Compra inteligente Próximo Ciclo + 1', 'Item Desativado',\n", - " 'Data Prevista Regularização', 'Carteira Bloqueada Para Novos Pedidos',\n", - " 'Planograma', 'Quantidade por caixa', 'Preço Sell In', 'Quantidade',\n", - " 'Item analisado', 'Histórico de Vendas do Ciclo 202409', 'match_x',\n", - " 'CRESCIMENTO', 'Ciclo_x', 'INICIO CICLO_x', 'FIM CICLO_x', 'DURAÇÃO_x',\n", - " 'match_y', 'dias_ate_inicio', 'Ciclo_y', 'INICIO CICLO_y',\n", - " 'FIM CICLO_y', 'DURAÇÃO_y'],\n", + " 'SKU', 'curva', 'categoria', 'proj_mar', 'proj_mar+1', 'ESTOQUE ATUAL',\n", + " 'ESTOQUE EM TRANSITO', 'PEDIDO PENDENTE', 'DDV PREVISTO', 'preço',\n", + " 'SKU_FINAL', 'DESCRICAO', 'C202413', 'C202414', 'C202415', 'C202416',\n", + " 'C202417', 'C202501', 'C202502', 'C202503', 'C202504', 'C202505',\n", + " 'C202506', 'C202507', 'C202508', 'C202509', 'C202510', 'C202511',\n", + " 'C202512', 'C202513', 'CRESCIMENTO', 'Ciclo_x', 'INICIO CICLO_x',\n", + " 'FIM CICLO_x', 'DURAÇÃO_x', 'match', 'dias_ate_inicio', 'Ciclo_y',\n", + " 'INICIO CICLO_y', 'FIM CICLO_y', 'DURAÇÃO_y'],\n", " dtype='object')" ] }, - "execution_count": 49, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -2867,28 +2440,28 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 56, "id": "3d924087", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 52004\n", - "14 52004\n", - "28 52004\n", - "42 52004\n", - "56 52004\n", + "0 57890\n", + "21 57890\n", + "42 57890\n", + "63 57890\n", + "84 57890\n", " ... \n", - "19192 87771\n", - "19193 87771\n", - "19194 87771\n", - "19195 87771\n", - "19196 87771\n", - "Name: PRODUTO SIMILAR, Length: 2291, dtype: Int64" + "25683 58132\n", + "25684 58132\n", + "25685 58132\n", + "25686 58132\n", + "25687 58132\n", + "Name: PRODUTO SIMILAR, Length: 1527, dtype: Int64" ] }, - "execution_count": 50, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } @@ -2899,7 +2472,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 57, "id": "c34b541a", "metadata": {}, "outputs": [ @@ -3055,7 +2628,7 @@ "[1663320 rows x 5 columns]" ] }, - "execution_count": 51, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -3066,7 +2639,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 58, "id": "1efff472", "metadata": {}, "outputs": [ @@ -3159,7 +2732,7 @@ "4 2 C202416 " ] }, - "execution_count": 52, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -3174,7 +2747,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 59, "id": "62ea79f7", "metadata": {}, "outputs": [], @@ -3184,7 +2757,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 60, "id": "c5383011", "metadata": {}, "outputs": [ @@ -3224,7 +2797,7 @@ " INICIO CICLO_x\n", " FIM CICLO_x\n", " DURAÇÃO_x\n", - " match_y\n", + " match\n", " dias_ate_inicio\n", " Ciclo_y\n", " INICIO CICLO_y\n", @@ -3235,169 +2808,169 @@ " \n", " \n", " 0\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", " \n", " \n", - " 14\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 21\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " \n", - " \n", - " 28\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", - " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", - " ...\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", - " 1\n", - " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", " \n", " \n", " 42\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", " \n", " \n", - " 56\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 63\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " C202515\n", - " 2025-10-13\n", - " 2025-11-02\n", - " 21\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " \n", + " \n", + " 84\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", + " CUIDADOS COM A PELE\n", + " LILY\n", + " 15.01\n", + " ...\n", + " C202516\n", + " 2025-11-03\n", + " 2025-11-30\n", + " 28\n", + " 1\n", + " 59\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", " \n", " \n", "\n", - "

5 rows × 79 columns

\n", + "

5 rows × 64 columns

\n", "" ], "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "14 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "28 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "42 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "56 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "21 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "42 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "63 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "84 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", "\n", " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "14 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "28 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "42 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "56 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", + "0 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "21 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "42 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "63 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "84 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... Ciclo_x \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... C202515 \n", - "14 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... C202515 \n", - "28 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... C202515 \n", - "42 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... C202515 \n", - "56 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... C202515 \n", + " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... Ciclo_x \\\n", + "0 Não Não CUIDADOS COM A PELE LILY 15.01 ... C202516 \n", + "21 Não Não CUIDADOS COM A PELE LILY 15.01 ... C202516 \n", + "42 Não Não CUIDADOS COM A PELE LILY 15.01 ... C202516 \n", + "63 Não Não CUIDADOS COM A PELE LILY 15.01 ... C202516 \n", + "84 Não Não CUIDADOS COM A PELE LILY 15.01 ... C202516 \n", "\n", - " INICIO CICLO_x FIM CICLO_x DURAÇÃO_x match_y dias_ate_inicio Ciclo_y \\\n", - "0 2025-10-13 2025-11-02 21 1 59 C202315 \n", - "14 2025-10-13 2025-11-02 21 1 59 C202315 \n", - "28 2025-10-13 2025-11-02 21 1 59 C202315 \n", - "42 2025-10-13 2025-11-02 21 1 59 C202315 \n", - "56 2025-10-13 2025-11-02 21 1 59 C202315 \n", + " INICIO CICLO_x FIM CICLO_x DURAÇÃO_x match dias_ate_inicio Ciclo_y \\\n", + "0 2025-11-03 2025-11-30 28 1 59 C202415 \n", + "21 2025-11-03 2025-11-30 28 1 59 C202415 \n", + "42 2025-11-03 2025-11-30 28 1 59 C202415 \n", + "63 2025-11-03 2025-11-30 28 1 59 C202415 \n", + "84 2025-11-03 2025-11-30 28 1 59 C202415 \n", "\n", " INICIO CICLO_y FIM CICLO_y DURAÇÃO_y \n", - "0 2023-10-16 2023-10-29 14.0 \n", - "14 2023-10-16 2023-10-29 14.0 \n", - "28 2023-10-16 2023-10-29 14.0 \n", - "42 2023-10-16 2023-10-29 14.0 \n", - "56 2023-10-16 2023-10-29 14.0 \n", + "0 2024-10-14 2024-11-03 21.0 \n", + "21 2024-10-14 2024-11-03 21.0 \n", + "42 2024-10-14 2024-11-03 21.0 \n", + "63 2024-10-14 2024-11-03 21.0 \n", + "84 2024-10-14 2024-11-03 21.0 \n", "\n", - "[5 rows x 79 columns]" + "[5 rows x 64 columns]" ] }, - "execution_count": 54, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -3408,7 +2981,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 61, "id": "c5cd5f42", "metadata": {}, "outputs": [], @@ -3420,7 +2993,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 62, "id": "4f22b782", "metadata": {}, "outputs": [ @@ -3457,7 +3030,7 @@ " % CONSUMIDOR\n", " ...\n", " DURAÇÃO_x\n", - " match_y\n", + " match\n", " dias_ate_inicio\n", " Ciclo_y\n", " INICIO CICLO_y\n", @@ -3471,169 +3044,169 @@ " \n", " \n", " 0\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " 21\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " 52004\n", - " C202315\n", - " 22\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " 57890\n", + " C202415\n", + " 1\n", " \n", " \n", " 1\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " 21\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " 52004\n", - " C202315\n", - " 36\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " NaN\n", + " NaN\n", + " <NA>\n", " \n", " \n", " 2\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " 21\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " 52004\n", - " C202315\n", - " 9\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " NaN\n", + " NaN\n", + " <NA>\n", " \n", " \n", " 3\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " 21\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " 52004\n", - " C202315\n", - " 5\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " 57890\n", + " C202415\n", + " 2\n", " \n", " \n", " 4\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " 21\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " 52004\n", - " C202315\n", - " 28\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " NaN\n", + " NaN\n", + " <NA>\n", " \n", " \n", "\n", - "

5 rows × 82 columns

\n", + "

5 rows × 67 columns

\n", "" ], "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "1 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "2 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "3 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "4 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "1 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "2 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "3 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "4 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", "\n", " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "1 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "2 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "3 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "4 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", + "0 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "1 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "2 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "3 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "4 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... DURAÇÃO_x \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "1 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "2 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "3 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "4 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", + " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... DURAÇÃO_x match \\\n", + "0 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "1 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "2 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "3 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "4 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", "\n", - " match_y dias_ate_inicio Ciclo_y INICIO CICLO_y FIM CICLO_y DURAÇÃO_y \\\n", - "0 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "1 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "2 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "3 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "4 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", + " dias_ate_inicio Ciclo_y INICIO CICLO_y FIM CICLO_y DURAÇÃO_y SKU_y \\\n", + "0 59 C202415 2024-10-14 2024-11-03 21.0 57890 \n", + "1 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", + "2 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", + "3 59 C202415 2024-10-14 2024-11-03 21.0 57890 \n", + "4 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", "\n", - " SKU_y Ciclo Vendas Ciclo Lançamento \n", - "0 52004 C202315 22 \n", - "1 52004 C202315 36 \n", - "2 52004 C202315 9 \n", - "3 52004 C202315 5 \n", - "4 52004 C202315 28 \n", + " Ciclo Vendas Ciclo Lançamento \n", + "0 C202415 1 \n", + "1 NaN \n", + "2 NaN \n", + "3 C202415 2 \n", + "4 NaN \n", "\n", - "[5 rows x 82 columns]" + "[5 rows x 67 columns]" ] }, - "execution_count": 56, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -3644,7 +3217,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 63, "id": "db516beb", "metadata": {}, "outputs": [], @@ -3654,7 +3227,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 64, "id": "bde12ed6", "metadata": {}, "outputs": [], @@ -3665,17 +3238,17 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 65, "id": "69c88d20", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "np.int64(29)" + "np.int64(19)" ] }, - "execution_count": 59, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -3686,34 +3259,21 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 66, "id": "f5206f50", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Index(['Histórico de Vendas do Ciclo 202410',\n", - " 'Histórico de Vendas do Ciclo 202411',\n", - " 'Histórico de Vendas do Ciclo 202412',\n", - " 'Histórico de Vendas do Ciclo 202413',\n", - " 'Histórico de Vendas do Ciclo 202414',\n", - " 'Histórico de Vendas do Ciclo 202415',\n", - " 'Histórico de Vendas do Ciclo 202416',\n", - " 'Histórico de Vendas do Ciclo 202417',\n", - " 'Histórico de Vendas do Ciclo 202501',\n", - " 'Histórico de Vendas do Ciclo 202502',\n", - " 'Histórico de Vendas do Ciclo 202503',\n", - " 'Histórico de Vendas do Ciclo 202504',\n", - " 'Histórico de Vendas do Ciclo 202505',\n", - " 'Histórico de Vendas do Ciclo 202506',\n", - " 'Histórico de Vendas do Ciclo 202507',\n", - " 'Histórico de Vendas do Ciclo 202508',\n", - " 'Histórico de Vendas do Ciclo 202509'],\n", + "Index(['ESTOQUE EM TRANSITO', 'PEDIDO PENDENTE', 'DDV PREVISTO', 'preço',\n", + " 'SKU_FINAL', 'DESCRICAO', 'C202413', 'C202414', 'C202415', 'C202416',\n", + " 'C202417', 'C202501', 'C202502', 'C202503', 'C202504', 'C202505',\n", + " 'C202506'],\n", " dtype='object')" ] }, - "execution_count": 60, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } @@ -3724,7 +3284,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 67, "id": "5e33d293", "metadata": {}, "outputs": [], @@ -3734,7 +3294,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 68, "id": "4d23ff5a", "metadata": {}, "outputs": [], @@ -3747,7 +3307,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 69, "id": "5adc5831", "metadata": {}, "outputs": [], @@ -3762,7 +3322,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 70, "id": "d3dc8c38", "metadata": {}, "outputs": [ @@ -3946,7 +3506,7 @@ "4 2 " ] }, - "execution_count": 64, + "execution_count": 70, "metadata": {}, "output_type": "execute_result" } @@ -3957,7 +3517,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 71, "id": "4169aba0", "metadata": {}, "outputs": [ @@ -3994,7 +3554,7 @@ " % CONSUMIDOR\n", " ...\n", " DURAÇÃO_x\n", - " match_y\n", + " match\n", " dias_ate_inicio\n", " Ciclo_y\n", " INICIO CICLO_y\n", @@ -4008,169 +3568,169 @@ " \n", " \n", " 0\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " 21\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " 52004\n", - " C202315\n", - " 22\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " 57890\n", + " C202415\n", + " 1\n", " \n", " \n", " 1\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " 21\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " 52004\n", - " C202315\n", - " 36\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " NaN\n", + " NaN\n", + " 0\n", " \n", " \n", " 2\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " 21\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " 52004\n", - " C202315\n", - " 9\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " NaN\n", + " NaN\n", + " 0\n", " \n", " \n", " 3\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " 21\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " 52004\n", - " C202315\n", - " 5\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " 57890\n", + " C202415\n", + " 2\n", " \n", " \n", " 4\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", - " 21\n", + " 28\n", " 1\n", " 59\n", - " C202315\n", - " 2023-10-16\n", - " 2023-10-29\n", - " 14.0\n", - " 52004\n", - " C202315\n", - " 28\n", + " C202415\n", + " 2024-10-14\n", + " 2024-11-03\n", + " 21.0\n", + " NaN\n", + " NaN\n", + " 0\n", " \n", " \n", "\n", - "

5 rows × 82 columns

\n", + "

5 rows × 67 columns

\n", "" ], "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "1 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "2 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "3 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "4 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "1 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "2 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "3 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "4 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", "\n", " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "1 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "2 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "3 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "4 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", + "0 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "1 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "2 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "3 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "4 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... DURAÇÃO_x \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "1 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "2 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "3 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "4 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", + " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... DURAÇÃO_x match \\\n", + "0 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "1 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "2 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "3 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "4 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", "\n", - " match_y dias_ate_inicio Ciclo_y INICIO CICLO_y FIM CICLO_y DURAÇÃO_y \\\n", - "0 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "1 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "2 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "3 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "4 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", + " dias_ate_inicio Ciclo_y INICIO CICLO_y FIM CICLO_y DURAÇÃO_y SKU_y \\\n", + "0 59 C202415 2024-10-14 2024-11-03 21.0 57890 \n", + "1 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", + "2 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", + "3 59 C202415 2024-10-14 2024-11-03 21.0 57890 \n", + "4 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", "\n", - " SKU_y Ciclo Vendas Ciclo Lançamento \n", - "0 52004 C202315 22 \n", - "1 52004 C202315 36 \n", - "2 52004 C202315 9 \n", - "3 52004 C202315 5 \n", - "4 52004 C202315 28 \n", + " Ciclo Vendas Ciclo Lançamento \n", + "0 C202415 1 \n", + "1 NaN 0 \n", + "2 NaN 0 \n", + "3 C202415 2 \n", + "4 NaN 0 \n", "\n", - "[5 rows x 82 columns]" + "[5 rows x 67 columns]" ] }, - "execution_count": 65, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -4183,7 +3743,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 72, "id": "1c4f5d9d", "metadata": {}, "outputs": [], @@ -4193,7 +3753,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 73, "id": "2529e624", "metadata": {}, "outputs": [], @@ -4219,7 +3779,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 74, "id": "fc094fae", "metadata": {}, "outputs": [ @@ -4270,16 +3830,16 @@ " \n", " \n", " 0\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", " NaN\n", " NaN\n", @@ -4294,16 +3854,16 @@ " \n", " \n", " 1\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", " NaN\n", " NaN\n", @@ -4318,16 +3878,16 @@ " \n", " \n", " 2\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", " NaN\n", " NaN\n", @@ -4342,16 +3902,16 @@ " \n", " \n", " 3\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", " NaN\n", " NaN\n", @@ -4366,16 +3926,16 @@ " \n", " \n", " 4\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " 52004\n", - " NSPA LOC RAD DES HID CPO AMEI DOUR 400ml\n", - " C202315\n", - " Sim\n", - " Sim\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " 57890\n", + " LILY CREM ACET DES HID CPO GARDENIA 250g\n", + " C202415\n", + " Não\n", + " Não\n", " CUIDADOS COM A PELE\n", - " NATIVA SPA\n", - " 31,07 | 39,52\n", + " LILY\n", + " 15.01\n", " ...\n", " NaN\n", " NaN\n", @@ -4413,16 +3973,16 @@ " ...\n", " \n", " \n", - " 2286\n", - " 87771\n", - " MAKE B BLUSH COMP BERRY MINI PRM 1,5g\n", - " 87771\n", - " 0\n", + " 1522\n", + " 58132\n", + " CUIDE-SE BEM DELEITE CHOCOLATUDO\n", + " 58132\n", + " CUIDE-SE BEM DELEITE CHOCOLATUDO\n", " 0\n", " Não\n", " Não\n", - " SUPORTE À VENDA\n", - " MAKE B.\n", + " PERFUMARIA\n", + " CUIDE-SE BEM\n", " -\n", " ...\n", " NaN\n", @@ -4437,16 +3997,64 @@ " NaN\n", " \n", " \n", - " 2287\n", - " 87771\n", - " MAKE B BLUSH COMP BERRY MINI PRM 1,5g\n", - " 87771\n", - " 0\n", + " 1523\n", + " 58132\n", + " CUIDE-SE BEM DELEITE CHOCOLATUDO\n", + " 58132\n", + " CUIDE-SE BEM DELEITE CHOCOLATUDO\n", " 0\n", " Não\n", " Não\n", - " SUPORTE À VENDA\n", - " MAKE B.\n", + " PERFUMARIA\n", + " CUIDE-SE BEM\n", + " -\n", + " ...\n", + " 0.0\n", + " 0.0\n", + " 24.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " \n", + " \n", + " 1524\n", + " 58132\n", + " CUIDE-SE BEM DELEITE CHOCOLATUDO\n", + " 58132\n", + " CUIDE-SE BEM DELEITE CHOCOLATUDO\n", + " 0\n", + " Não\n", + " Não\n", + " PERFUMARIA\n", + " CUIDE-SE BEM\n", + " -\n", + " ...\n", + " 0.0\n", + " 0.0\n", + " 89.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " \n", + " \n", + " 1525\n", + " 58132\n", + " CUIDE-SE BEM DELEITE CHOCOLATUDO\n", + " 58132\n", + " CUIDE-SE BEM DELEITE CHOCOLATUDO\n", + " 0\n", + " Não\n", + " Não\n", + " PERFUMARIA\n", + " CUIDE-SE BEM\n", " -\n", " ...\n", " NaN\n", @@ -4461,64 +4069,16 @@ " NaN\n", " \n", " \n", - " 2288\n", - " 87771\n", - " MAKE B BLUSH COMP BERRY MINI PRM 1,5g\n", - " 87771\n", - " 0\n", + " 1526\n", + " 58132\n", + " CUIDE-SE BEM DELEITE CHOCOLATUDO\n", + " 58132\n", + " CUIDE-SE BEM DELEITE CHOCOLATUDO\n", " 0\n", " Não\n", " Não\n", - " SUPORTE À VENDA\n", - " MAKE B.\n", - " -\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " \n", - " \n", - " 2289\n", - " 87771\n", - " MAKE B BLUSH COMP BERRY MINI PRM 1,5g\n", - " 87771\n", - " 0\n", - " 0\n", - " Não\n", - " Não\n", - " SUPORTE À VENDA\n", - " MAKE B.\n", - " -\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " \n", - " \n", - " 2290\n", - " 87771\n", - " MAKE B BLUSH COMP BERRY MINI PRM 1,5g\n", - " 87771\n", - " 0\n", - " 0\n", - " Não\n", - " Não\n", - " SUPORTE À VENDA\n", - " MAKE B.\n", + " PERFUMARIA\n", + " CUIDE-SE BEM\n", " -\n", " ...\n", " NaN\n", @@ -4534,48 +4094,48 @@ " \n", " \n", "\n", - "

2291 rows × 100 columns

\n", + "

1527 rows × 85 columns

\n", "" ], "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "1 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "2 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "3 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "4 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "... ... ... \n", - "2286 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2287 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2288 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2289 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2290 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "1 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "2 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "3 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "4 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "... ... ... \n", + "1522 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO \n", + "1523 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO \n", + "1524 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO \n", + "1525 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO \n", + "1526 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO \n", "\n", " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "1 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "2 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "3 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "4 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", + "0 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "1 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "2 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "3 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "4 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", "... ... ... ... \n", - "2286 87771 0 0 \n", - "2287 87771 0 0 \n", - "2288 87771 0 0 \n", - "2289 87771 0 0 \n", - "2290 87771 0 0 \n", + "1522 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO 0 \n", + "1523 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO 0 \n", + "1524 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO 0 \n", + "1525 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO 0 \n", + "1526 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO 0 \n", "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... 202415 \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... NaN \n", - "1 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... NaN \n", - "2 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... NaN \n", - "3 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... NaN \n", - "4 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... NaN \n", - "... ... ... ... ... ... ... ... \n", - "2286 Não Não SUPORTE À VENDA MAKE B. - ... NaN \n", - "2287 Não Não SUPORTE À VENDA MAKE B. - ... NaN \n", - "2288 Não Não SUPORTE À VENDA MAKE B. - ... NaN \n", - "2289 Não Não SUPORTE À VENDA MAKE B. - ... NaN \n", - "2290 Não Não SUPORTE À VENDA MAKE B. - ... NaN \n", + " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... 202415 \\\n", + "0 Não Não CUIDADOS COM A PELE LILY 15.01 ... NaN \n", + "1 Não Não CUIDADOS COM A PELE LILY 15.01 ... NaN \n", + "2 Não Não CUIDADOS COM A PELE LILY 15.01 ... NaN \n", + "3 Não Não CUIDADOS COM A PELE LILY 15.01 ... NaN \n", + "4 Não Não CUIDADOS COM A PELE LILY 15.01 ... NaN \n", + "... ... ... ... ... ... ... ... \n", + "1522 Não Não PERFUMARIA CUIDE-SE BEM - ... NaN \n", + "1523 Não Não PERFUMARIA CUIDE-SE BEM - ... 0.0 \n", + "1524 Não Não PERFUMARIA CUIDE-SE BEM - ... 0.0 \n", + "1525 Não Não PERFUMARIA CUIDE-SE BEM - ... NaN \n", + "1526 Não Não PERFUMARIA CUIDE-SE BEM - ... NaN \n", "\n", " 202416 202417 202501 202502 202503 202504 202505 202506 202507 \n", "0 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", @@ -4584,16 +4144,16 @@ "3 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "4 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "... ... ... ... ... ... ... ... ... ... \n", - "2286 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "2287 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "2288 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "2289 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "2290 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1522 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1523 0.0 24.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1524 0.0 89.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1525 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1526 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "\n", - "[2291 rows x 100 columns]" + "[1527 rows x 85 columns]" ] }, - "execution_count": 68, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } @@ -4604,44 +4164,58 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 75, "id": "dcff1fcb", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_101180\\260461722.py:1: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", - " df_final = df_final.fillna(0)\n" - ] - } - ], + "outputs": [], "source": [ "df_final = df_final.fillna(0)" ] }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 76, + "id": "bebabb9f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['C202413', 'C202414', 'C202415', 'C202416', 'C202417', 'C202501',\n", + " 'C202502', 'C202503', 'C202504', 'C202505', 'C202506', 'C202507',\n", + " 'C202508', 'C202509', 'C202510', 'C202511', 'C202512', 'C202513'],\n", + " dtype='object')" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_final.columns[35:53]" + ] + }, + { + "cell_type": "code", + "execution_count": 77, "id": "0a1bb832", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "np.float64(0.2267)" + "0.2" ] }, - "execution_count": 70, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Suponha que os meses estão nas colunas 10 a 26 (17 colunas = 17 meses)\n", - "colunas_mensais = df_final.columns[29:46]\n", - "\n", + "colunas_mensais = df_final.columns[35:53]\n", "# Passo 1: Soma todas as linhas (itens) por mês → resultado: total por mês\n", "soma_mensal = df_final[colunas_mensais].sum()\n", "\n", @@ -4676,7 +4250,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 78, "id": "a9647c32", "metadata": {}, "outputs": [], @@ -4689,41 +4263,35 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 79, "id": "b107e519", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Index(['Histórico de Vendas do Ciclo 202504',\n", - " 'Histórico de Vendas do Ciclo 202505',\n", - " 'Histórico de Vendas do Ciclo 202506',\n", - " 'Histórico de Vendas do Ciclo 202507',\n", - " 'Histórico de Vendas do Ciclo 202508',\n", - " 'Histórico de Vendas do Ciclo 202509',\n", - " 'Histórico de Vendas do Ciclo Atual'],\n", + "Index(['C202507', 'C202508', 'C202509', 'C202510', 'C202511', 'C202512',\n", + " 'C202513'],\n", " dtype='object')" ] }, - "execution_count": 72, + "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df_final.columns[40:47]" + "df_final.columns[46:53]" ] }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 80, "id": "8290853c", "metadata": {}, "outputs": [], "source": [ - "VENDA_SIMILAR_6_MESES= df_final.columns[40:47]\n", - "\n", + "VENDA_SIMILAR_6_MESES= df_final.columns[46:53]\n", "df_final['Pico Vendas Similar Ultimos 6 ciclos'] = df_final[VENDA_SIMILAR_6_MESES].max(axis=1)\n", "\n", "df_final['Pico Vendas Similar Ultimos 6 ciclos'] = df_final['Pico Vendas Similar Ultimos 6 ciclos'].fillna(0)\n", @@ -4735,28 +4303,28 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 81, "id": "d8b30560", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 2.0\n", - "1 2.0\n", - "2 0.0\n", - "3 0.0\n", + "0 1.5\n", + "1 3.5\n", + "2 1.0\n", + "3 1.0\n", "4 1.0\n", " ... \n", - "2286 0.0\n", - "2287 0.0\n", - "2288 0.0\n", - "2289 0.0\n", - "2290 0.0\n", - "Length: 2291, dtype: float64" + "1522 0.0\n", + "1523 0.0\n", + "1524 0.0\n", + "1525 0.0\n", + "1526 0.0\n", + "Length: 1527, dtype: float64" ] }, - "execution_count": 74, + "execution_count": 81, "metadata": {}, "output_type": "execute_result" } @@ -4767,7 +4335,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 82, "id": "07f043f2", "metadata": {}, "outputs": [ @@ -4794,6 +4362,7 @@ " \n", " CANAL\n", " UF\n", + " PRODUTO LANÇAMENTO\n", " med_por_canal\n", " \n", " \n", @@ -4802,115 +4371,115 @@ " 0\n", " CD\n", " AL\n", - " 618.0\n", + " 48780\n", + " 3.5\n", " \n", " \n", " 1\n", - " HIB\n", + " CD\n", " AL\n", - " 50.0\n", + " 49154\n", + " 29.0\n", " \n", " \n", " 2\n", - " HIB\n", - " BA\n", - " 96.0\n", + " CD\n", + " AL\n", + " 49193\n", + " 19.5\n", " \n", " \n", " 3\n", - " HIB\n", - " BA3\n", + " CD\n", + " AL\n", + " 49893\n", " 0.0\n", " \n", " \n", " 4\n", - " HIB\n", - " SE\n", - " 42.0\n", - " \n", - " \n", - " 5\n", - " LJ\n", + " CD\n", " AL\n", - " 87.0\n", + " 49943\n", + " 0.0\n", " \n", " \n", - " 6\n", - " LJ\n", - " BA\n", - " 25.0\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", " \n", " \n", - " 7\n", - " LJ\n", - " BA3\n", - " 19.0\n", - " \n", - " \n", - " 8\n", - " LJ\n", - " SE\n", - " 20.0\n", - " \n", - " \n", - " 9\n", - " VD\n", - " AL\n", - " 202.0\n", - " \n", - " \n", - " 10\n", - " VD\n", - " BA\n", - " 205.0\n", - " \n", - " \n", - " 11\n", - " VD\n", - " BA3\n", - " 47.0\n", - " \n", - " \n", - " 12\n", + " 242\n", " VD\n", " SE\n", - " 164.0\n", + " 88301\n", + " 2.0\n", + " \n", + " \n", + " 243\n", + " VD\n", + " SE\n", + " 88730\n", + " 0.0\n", + " \n", + " \n", + " 244\n", + " VD\n", + " SE\n", + " 88889\n", + " 0.0\n", + " \n", + " \n", + " 245\n", + " VD\n", + " SE\n", + " 88911\n", + " 5.5\n", + " \n", + " \n", + " 246\n", + " VD\n", + " SE\n", + " 89446\n", + " 4.5\n", " \n", " \n", "\n", + "

247 rows × 4 columns

\n", "" ], "text/plain": [ - " CANAL UF med_por_canal\n", - "0 CD AL 618.0\n", - "1 HIB AL 50.0\n", - "2 HIB BA 96.0\n", - "3 HIB BA3 0.0\n", - "4 HIB SE 42.0\n", - "5 LJ AL 87.0\n", - "6 LJ BA 25.0\n", - "7 LJ BA3 19.0\n", - "8 LJ SE 20.0\n", - "9 VD AL 202.0\n", - "10 VD BA 205.0\n", - "11 VD BA3 47.0\n", - "12 VD SE 164.0" + " CANAL UF PRODUTO LANÇAMENTO med_por_canal\n", + "0 CD AL 48780 3.5\n", + "1 CD AL 49154 29.0\n", + "2 CD AL 49193 19.5\n", + "3 CD AL 49893 0.0\n", + "4 CD AL 49943 0.0\n", + ".. ... .. ... ...\n", + "242 VD SE 88301 2.0\n", + "243 VD SE 88730 0.0\n", + "244 VD SE 88889 0.0\n", + "245 VD SE 88911 5.5\n", + "246 VD SE 89446 4.5\n", + "\n", + "[247 rows x 4 columns]" ] }, - "execution_count": 75, + "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "medi = df_final.groupby(['CANAL','UF'])['MEDIANA DO HISTÓRICO'].max().reset_index()\n", + "medi = df_final.groupby(['CANAL','UF','PRODUTO LANÇAMENTO'])['MEDIANA DO HISTÓRICO'].max().reset_index()\n", "medi = medi.rename(columns={'MEDIANA DO HISTÓRICO':'med_por_canal'})\n", "medi" ] }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 83, "id": "94abddce", "metadata": {}, "outputs": [], @@ -4920,28 +4489,28 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 84, "id": "c4fbc613", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 LANÇAMENTO\n", - "1 LANÇAMENTO\n", - "2 LANÇAMENTO\n", - "3 LANÇAMENTO\n", - "4 LANÇAMENTO\n", - " ... \n", - "2286 PROMOÇÃO\n", - "2287 PROMOÇÃO\n", - "2288 PROMOÇÃO\n", - "2289 PROMOÇÃO\n", - "2290 PROMOÇÃO\n", - "Name: TIPO DE PRODUTO, Length: 2291, dtype: object" + "0 EDICAO LIMITADA\n", + "1 EDICAO LIMITADA\n", + "2 EDICAO LIMITADA\n", + "3 EDICAO LIMITADA\n", + "4 EDICAO LIMITADA\n", + " ... \n", + "1522 REGULAR\n", + "1523 REGULAR\n", + "1524 REGULAR\n", + "1525 REGULAR\n", + "1526 REGULAR\n", + "Name: TIPO DE PRODUTO, Length: 1527, dtype: object" ] }, - "execution_count": 77, + "execution_count": 84, "metadata": {}, "output_type": "execute_result" } @@ -4952,7 +4521,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 85, "id": "df26720c", "metadata": {}, "outputs": [ @@ -5045,7 +4614,7 @@ "4 2 C202416 " ] }, - "execution_count": 78, + "execution_count": 85, "metadata": {}, "output_type": "execute_result" } @@ -5056,7 +4625,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 86, "id": "ef979be5", "metadata": {}, "outputs": [], @@ -5094,7 +4663,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 87, "id": "41eb7ebf", "metadata": {}, "outputs": [ @@ -5109,7 +4678,7 @@ "Name: PDV, dtype: object" ] }, - "execution_count": 80, + "execution_count": 87, "metadata": {}, "output_type": "execute_result" } @@ -5121,7 +4690,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 88, "id": "6dbe67bb", "metadata": {}, "outputs": [], @@ -5141,7 +4710,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 89, "id": "7986b8fa", "metadata": {}, "outputs": [ @@ -5253,7 +4822,7 @@ "4 14.378.160/0001-83 " ] }, - "execution_count": 82, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" } @@ -5266,12 +4835,23 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 90, "id": "09efe938", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'df_vdc = pd.read_parquet(r\"C:\\\\Users\\\\joao.herculano\\\\GRUPO GINSENG\\\\Assistência Suprimentos - 2025\\\\SUPRIMENTOS\\\\Vitoria da Conquista\\\\HISTORICO VENDAS VITORIA DA CONQUISTA\\\\VENDAS VITORIA DA CONQUISTA\\\\concatenado.parquet\")\\n\\ndf_vdc[\\'PDV\\'] = df_vdc[\\'Quebra\\'].str.split(\" -\").str[0]\\n\\ndf_vdc[\\'PDV\\'] = df_vdc[\\'PDV\\'].astype(\\'int64\\')\\n\\ndf_vdc = df_vdc.rename(columns={\\'Quebra2\\':\\'DATA VENDA\\'})\\n\\ndf_vdc[\\'DATA VENDA\\'] = pd.to_datetime(df_vdc[\\'DATA VENDA\\'], format=\\'%d/%m/%Y\\')'" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "df_vdc = pd.read_parquet(r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\Vitoria da Conquista\\HISTORICO VENDAS VITORIA DA CONQUISTA\\VENDAS VITORIA DA CONQUISTA\\concatenado.parquet\")\n", + "r'''df_vdc = pd.read_parquet(r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\Vitoria da Conquista\\HISTORICO VENDAS VITORIA DA CONQUISTA\\VENDAS VITORIA DA CONQUISTA\\concatenado.parquet\")\n", "\n", "df_vdc['PDV'] = df_vdc['Quebra'].str.split(\" -\").str[0]\n", "\n", @@ -5279,29 +4859,51 @@ "\n", "df_vdc = df_vdc.rename(columns={'Quebra2':'DATA VENDA'})\n", "\n", - "df_vdc['DATA VENDA'] = pd.to_datetime(df_vdc['DATA VENDA'], format='%d/%m/%Y')" + "df_vdc['DATA VENDA'] = pd.to_datetime(df_vdc['DATA VENDA'], format='%d/%m/%Y')'''" ] }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 91, "id": "330154b2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "\"df_vdc = pd.merge(df_vdc,df_depara_vdc[['CP VIVA BEM','PDVDEPARA.Practico']],left_on='PDV',right_on='CP VIVA BEM',how='inner')\\n\\ndf_vdc['Quantidade'] = df_vdc['Quantidade'].str.replace(r',000$','',regex=True)\\n\\ndf_vdc['Quantidade'] = df_vdc['Quantidade'].astype('Int64') \"" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "df_vdc = pd.merge(df_vdc,df_depara_vdc[['CP VIVA BEM','PDVDEPARA.Practico']],left_on='PDV',right_on='CP VIVA BEM',how='inner')\n", + "'''df_vdc = pd.merge(df_vdc,df_depara_vdc[['CP VIVA BEM','PDVDEPARA.Practico']],left_on='PDV',right_on='CP VIVA BEM',how='inner')\n", "\n", "df_vdc['Quantidade'] = df_vdc['Quantidade'].str.replace(r',000$','',regex=True)\n", "\n", - "df_vdc['Quantidade'] = df_vdc['Quantidade'].astype('Int64') " + "df_vdc['Quantidade'] = df_vdc['Quantidade'].astype('Int64') '''" ] }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 92, "id": "09cc2f82", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "\"df_vdc['Quantidade Acumulada vdc'] = (\\n df_vdc\\n .groupby(['PDVDEPARA.Practico', 'Código'])['Quantidade']\\n .cumsum()\\n) # acumulado por grupo até a data da linha\"" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "\n", @@ -5314,102 +4916,32 @@ "#df_venda_diaria = df_venda_diaria.sort_values(by=['PDV', 'SKU', 'Ciclo'])\n", "\n", "# Calcula a quantidade acumulada até o dia para cada grupo\n", - "df_vdc['Quantidade Acumulada vdc'] = (\n", + "r'''df_vdc['Quantidade Acumulada vdc'] = (\n", " df_vdc\n", " .groupby(['PDVDEPARA.Practico', 'Código'])['Quantidade']\n", " .cumsum()\n", - ") # acumulado por grupo até a data da linha" + ") # acumulado por grupo até a data da linha'''" ] }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 93, "id": "5a827c08", "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
PDVDEPARA.PracticoCódigoCiclo vdcQuantidade Acumulada vdc
0237011004C202203139.0
1237011004C202204161.0
2237011004C202205162.0
3237011004C2022069.0
4237011004C20220715.0
\n", - "
" - ], "text/plain": [ - " PDVDEPARA.Practico Código Ciclo vdc Quantidade Acumulada vdc\n", - "0 23701 1004 C202203 139.0\n", - "1 23701 1004 C202204 161.0\n", - "2 23701 1004 C202205 162.0\n", - "3 23701 1004 C202206 9.0\n", - "4 23701 1004 C202207 15.0" + "\"df_vdc = pd.merge(left=df_vdc,right=calendario[['Date','Ciclo']],left_on='DATA VENDA',right_on='Date',how='inner')\\n\\ndf_vdc_agrupado = df_vdc.groupby(['PDVDEPARA.Practico',\\t'Código','Ciclo'])['Quantidade Acumulada vdc'].max().reset_index()\\n\\ndf_vdc_agrupado = df_vdc_agrupado.rename(columns={'Ciclo':'Ciclo vdc'})\\n\\n\\ndf_vdc_agrupado['PDVDEPARA.Practico'] = df_vdc_agrupado['PDVDEPARA.Practico'].astype(str).str.replace(r'\\\\.0$', '', regex=True)\\ndf_vdc_agrupado.head()\"" ] }, - "execution_count": 86, + "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df_vdc = pd.merge(left=df_vdc,right=calendario[['Date','Ciclo']],left_on='DATA VENDA',right_on='Date',how='inner')\n", + "r'''df_vdc = pd.merge(left=df_vdc,right=calendario[['Date','Ciclo']],left_on='DATA VENDA',right_on='Date',how='inner')\n", "\n", "df_vdc_agrupado = df_vdc.groupby(['PDVDEPARA.Practico',\t'Código','Ciclo'])['Quantidade Acumulada vdc'].max().reset_index()\n", "\n", @@ -5417,34 +4949,36 @@ "\n", "\n", "df_vdc_agrupado['PDVDEPARA.Practico'] = df_vdc_agrupado['PDVDEPARA.Practico'].astype(str).str.replace(r'\\.0$', '', regex=True)\n", - "df_vdc_agrupado.head()\n", + "df_vdc_agrupado.head()'''\n", "\n" ] }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 94, "id": "4933b6d2", "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_101180\\3455958411.py:3: FutureWarning: DataFrame.replace without 'value' and with non-dict-like 'to_replace' is deprecated and will raise in a future version. Explicitly specify the new values instead.\n", - " df_vdc_agrupado = df_vdc_agrupado.replace()\n" - ] + "data": { + "text/plain": [ + "'df_vdc_agrupado = df_vdc_agrupado.astype(str)\\n\\ndf_vdc_agrupado = df_vdc_agrupado.replace()'" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "df_vdc_agrupado = df_vdc_agrupado.astype(str)\n", + "r'''df_vdc_agrupado = df_vdc_agrupado.astype(str)\n", "\n", - "df_vdc_agrupado = df_vdc_agrupado.replace()" + "df_vdc_agrupado = df_vdc_agrupado.replace()'''" ] }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 95, "id": "8d5f2c33", "metadata": {}, "outputs": [], @@ -5454,35 +4988,30 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 96, "id": "63fea2ea", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 23701\n", - "1 23701\n", - "2 23701\n", - "3 23701\n", - "4 23701\n", - "Name: PDVDEPARA.Practico, dtype: object" + "\"df_vdc_agrupado['PDVDEPARA.Practico'] = df_vdc_agrupado['PDVDEPARA.Practico'].astype(str)\\n\\ndf_vdc_agrupado['PDVDEPARA.Practico'].head()\"" ] }, - "execution_count": 89, + "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df_vdc_agrupado['PDVDEPARA.Practico'] = df_vdc_agrupado['PDVDEPARA.Practico'].astype(str)\n", + "r'''df_vdc_agrupado['PDVDEPARA.Practico'] = df_vdc_agrupado['PDVDEPARA.Practico'].astype(str)\n", "\n", - "df_vdc_agrupado['PDVDEPARA.Practico'].head()" + "df_vdc_agrupado['PDVDEPARA.Practico'].head()'''" ] }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 97, "id": "84b5917c", "metadata": {}, "outputs": [], @@ -5492,22 +5021,33 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 98, "id": "ca911bd1", "metadata": {}, "outputs": [], "source": [ - "df_vdc_agrupado['Código'] = df_vdc_agrupado['Código'].astype('Int64')" + "#df_vdc_agrupado['Código'] = df_vdc_agrupado['Código'].astype('Int64')" ] }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 99, "id": "8ec14143", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "\"df_final = pd.merge(left=df_final, right = df_vdc_agrupado, right_on=['Ciclo vdc','Código','PDVDEPARA.Practico'],left_on=['CICLO SIMILAR','PRODUTO SIMILAR','PDV'],how='left')\\n\\ndf_final['Quantidade Acumulada vdc'] = pd.to_numeric(\\n df_final['Quantidade Acumulada vdc'],\\n errors='coerce' # valores inválidos viram NaN\\n).fillna(0).astype('Int64')\\n\\n\\ndf_final['Vendas Ciclo Lançamento'] = np.where(df_final['Quantidade Acumulada vdc'] > 0, df_final['Quantidade Acumulada vdc'], df_final['Vendas Ciclo Lançamento'])\\n\\ndf_final = df_final.drop(columns='Quantidade Acumulada vdc')\\n\\n\\ndf_final = df_final.drop(columns='Ciclo vdc')\"" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "df_final = pd.merge(left=df_final, right = df_vdc_agrupado, right_on=['Ciclo vdc','Código','PDVDEPARA.Practico'],left_on=['CICLO SIMILAR','PRODUTO SIMILAR','PDV'],how='left')\n", + "r'''df_final = pd.merge(left=df_final, right = df_vdc_agrupado, right_on=['Ciclo vdc','Código','PDVDEPARA.Practico'],left_on=['CICLO SIMILAR','PRODUTO SIMILAR','PDV'],how='left')\n", "\n", "df_final['Quantidade Acumulada vdc'] = pd.to_numeric(\n", " df_final['Quantidade Acumulada vdc'],\n", @@ -5520,23 +5060,23 @@ "df_final = df_final.drop(columns='Quantidade Acumulada vdc')\n", "\n", "\n", - "df_final = df_final.drop(columns='Ciclo vdc')\n", + "df_final = df_final.drop(columns='Ciclo vdc')'''\n", "\n" ] }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 100, "id": "1a625e69", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(2291, 108)" + "(1527, 91)" ] }, - "execution_count": 93, + "execution_count": 100, "metadata": {}, "output_type": "execute_result" } @@ -5585,86 +5125,154 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 101, "id": "cfdae71d", "metadata": {}, "outputs": [], "source": [ - "df_final.to_excel(r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\BD_LANÇAMENTOS\\BOT\\BOT - C12\\LANÇAMENTOS\\validação.xlsx\",index=False)" + "#df_final.to_excel(r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\BD_LANÇAMENTOS\\BOT\\BOT - C12\\LANÇAMENTOS\\validação.xlsx\",index=False)" ] }, { "cell_type": "code", - "execution_count": 95, - "id": "ad10c069", + "execution_count": 102, + "id": "30c1d83d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Index(['Histórico de Vendas do Ciclo 202411',\n", - " 'Histórico de Vendas do Ciclo 202412',\n", - " 'Histórico de Vendas do Ciclo 202413',\n", - " 'Histórico de Vendas do Ciclo 202414',\n", - " 'Histórico de Vendas do Ciclo 202415',\n", - " 'Histórico de Vendas do Ciclo 202416',\n", - " 'Histórico de Vendas do Ciclo 202417',\n", - " 'Histórico de Vendas do Ciclo 202501',\n", - " 'Histórico de Vendas do Ciclo 202502',\n", - " 'Histórico de Vendas do Ciclo 202503',\n", - " 'Histórico de Vendas do Ciclo 202504',\n", - " 'Histórico de Vendas do Ciclo 202505',\n", - " 'Histórico de Vendas do Ciclo 202506'],\n", + "Index(['202409', '202410', '202411', '202412', '202413', '202414', '202415',\n", + " '202416', '202417', '202501', '202502', '202503', '202504', '202505',\n", + " '202506', '202507', 'CRESCIMENTO_GERAL'],\n", " dtype='object')\n" ] } ], "source": [ - "print(df_final.columns[30:43])\n", - "\n", - "df_final.drop(columns=df_final.columns[30:43],inplace=True)" + "print(df_final.columns[68:85])" ] }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 103, + "id": "62b7f9d1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['PRODUTO LANÇAMENTO', 'DESCRIÇÃO DO LANÇAMENTO', 'PRODUTO SIMILAR',\n", + " 'DESCRIÇÃO SIMILAR', 'CICLO SIMILAR', 'FOCO', 'IAF', 'CATEGORIA',\n", + " 'MARCA', '% CONSUMIDOR', 'MECANICA CONSUMIDOR', '% REVENDEDOR',\n", + " 'MECANICA REVENDEDOR', 'TIPO DE PRODUTO', 'MATCH', 'PDV', 'CANAL',\n", + " 'DESCRIÇÃO PDV', 'PDV DESC', 'UF', 'ANALISTA', 'SUPERVISOR', 'STATUS',\n", + " 'SKU_x', 'curva', 'categoria', 'proj_mar', 'proj_mar+1',\n", + " 'ESTOQUE ATUAL', 'ESTOQUE EM TRANSITO', 'PEDIDO PENDENTE',\n", + " 'DDV PREVISTO', 'preço', 'SKU_FINAL', 'DESCRICAO', 'C202413', 'C202414',\n", + " 'C202415', 'C202416', 'C202417', 'C202501', 'C202502', 'C202503',\n", + " 'C202504', 'C202505', 'C202506', 'C202507', 'C202508', 'C202509',\n", + " 'C202510', 'C202511', 'C202512', 'C202513', 'CRESCIMENTO', 'Ciclo',\n", + " 'INICIO CICLO', 'FIM CICLO', 'DURAÇÃO', 'match', 'dias_ate_inicio',\n", + " 'INICIO CICLO SIMILAR', 'FIM CICLO SIMILAR', 'DURAÇÃO CICLO SIMILAR',\n", + " 'SKU_y', 'Ciclo', 'Vendas Ciclo Lançamento', 'SKU', '202408',\n", + " 'Pico Vendas Similar Ultimos 6 ciclos', 'MEDIANA DO HISTÓRICO',\n", + " 'de para pdv', 'sku', 'CRESCIMENTO_FINAL', 'PV GINSENG'],\n", + " dtype='object')" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import re\n", + "\n", + "# identificar colunas de ciclo puro (ex: '202407')\n", + "colunas_ciclo_puro = [col for col in df_final.columns[68:85]]\n", + "\n", + "for col in colunas_ciclo_puro:\n", + " col_hist = f'C{col}'\n", + " if col_hist in df_final.columns:\n", + " # mantém o maior valor entre a coluna histórica e a pura\n", + " df_final[col_hist] = df_final[[col_hist, col]].max(axis=1)\n", + "\n", + "# remove as colunas puras\n", + "if colunas_ciclo_puro:\n", + " df_final.drop(columns=colunas_ciclo_puro, inplace=True)\n", + "\n", + "df_final.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "id": "ad10c069", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'print(df_final.columns[30:43])\\n\\ndf_final.drop(columns=df_final.columns[30:43],inplace=True)'" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r'''print(df_final.columns[30:43])\n", + "\n", + "df_final.drop(columns=df_final.columns[30:43],inplace=True)'''" + ] + }, + { + "cell_type": "code", + "execution_count": 105, "id": "3b7f3a82", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Index(['Histórico de Vendas do Ciclo 202410',\n", - " 'Histórico de Vendas do Ciclo 202507',\n", - " 'Histórico de Vendas do Ciclo 202508',\n", - " 'Histórico de Vendas do Ciclo 202509',\n", - " 'Histórico de Vendas do Ciclo Atual'],\n", - " dtype='object')" + "'C202513'" ] }, - "execution_count": 96, + "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df_final.columns[29:34]" + "df_final.columns[52]" ] }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 106, + "id": "d63e55c4", + "metadata": {}, + "outputs": [], + "source": [ + "df_final['Pico Vendas Similar Ultimos 6 ciclos'] = df_final[VENDA_SIMILAR_6_MESES].max(axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 107, "id": "15b7149f", "metadata": {}, "outputs": [], "source": [ - "df_final = df_final.rename(columns={df_final.columns[30]: \"C-4\", df_final.columns[31]: \"C-3\",df_final.columns[32]: \"C-2\",df_final.columns[29]: \"C-1\",df_final.columns[33]:'VENDAS CICLO ATUAL'})\n" + "df_final = df_final.rename(columns={df_final.columns[48]: \"C-4\", df_final.columns[49]: \"C-3\",df_final.columns[50]: \"C-2\",df_final.columns[51]: \"C-1\",df_final.columns[52]:'VENDAS CICLO ATUAL'})\n" ] }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 108, "id": "9333bc77", "metadata": {}, "outputs": [ @@ -5676,29 +5284,21 @@ " 'MARCA', '% CONSUMIDOR', 'MECANICA CONSUMIDOR', '% REVENDEDOR',\n", " 'MECANICA REVENDEDOR', 'TIPO DE PRODUTO', 'MATCH', 'PDV', 'CANAL',\n", " 'DESCRIÇÃO PDV', 'PDV DESC', 'UF', 'ANALISTA', 'SUPERVISOR', 'STATUS',\n", - " 'CLASSE', 'SKU_X', 'DESCRIÇÃO', 'SUBCATEGORIA', 'LANÇAMENTO',\n", - " 'DESATIVAÇÃO', 'C-1', 'C-4', 'C-3', 'C-2', 'VENDAS CICLO ATUAL',\n", - " 'DIAS SEM VENDA', 'PROJEÇÃO PRÓXIMO CICLO',\n", - " 'PROJEÇÃO PRÓXIMO CICLO + 1', 'PROMOÇÃO PRÓXIMO CICLO',\n", - " 'PROMOÇÃO PRÓXIMO CICLO + 1', 'ESTOQUE ATUAL', 'ESTOQUE EM TRANSITO',\n", - " 'PEDIDO PENDENTE', 'COMPRA INTELIGENTE SEMANAL/SUGESTÃO DE COMPRA',\n", - " 'COMPRA INTELIGENTE PRÓXIMO CICLO',\n", - " 'COMPRA INTELIGENTE PRÓXIMO CICLO + 1', 'ITEM DESATIVADO',\n", - " 'DATA PREVISTA REGULARIZAÇÃO', 'CARTEIRA BLOQUEADA PARA NOVOS PEDIDOS',\n", - " 'PLANOGRAMA', 'QUANTIDADE POR CAIXA', 'PREÇO SELL IN', 'QUANTIDADE',\n", - " 'ITEM ANALISADO', 'MATCH_X', 'CRESCIMENTO', 'CICLO', 'INICIO CICLO',\n", - " 'FIM CICLO', 'DURAÇÃO', 'MATCH_Y', 'DIAS_ATE_INICIO',\n", + " 'SKU_X', 'CURVA', 'CATEGORIA', 'PROJ_MAR', 'PROJ_MAR+1',\n", + " 'ESTOQUE ATUAL', 'ESTOQUE EM TRANSITO', 'PEDIDO PENDENTE',\n", + " 'DDV PREVISTO', 'PREÇO', 'SKU_FINAL', 'DESCRICAO', 'C202413', 'C202414',\n", + " 'C202415', 'C202416', 'C202417', 'C202501', 'C202502', 'C202503',\n", + " 'C202504', 'C202505', 'C202506', 'C202507', 'C202508', 'C-4', 'C-3',\n", + " 'C-2', 'C-1', 'VENDAS CICLO ATUAL', 'CRESCIMENTO', 'CICLO',\n", + " 'INICIO CICLO', 'FIM CICLO', 'DURAÇÃO', 'MATCH', 'DIAS_ATE_INICIO',\n", " 'INICIO CICLO SIMILAR', 'FIM CICLO SIMILAR', 'DURAÇÃO CICLO SIMILAR',\n", - " 'SKU_Y', 'CICLO', 'VENDAS CICLO LANÇAMENTO', 'SKU', '202408', '202409',\n", - " '202410', '202411', '202412', '202413', '202414', '202415', '202416',\n", - " '202417', '202501', '202502', '202503', '202504', '202505', '202506',\n", - " '202507', 'CRESCIMENTO_GERAL', 'PICO VENDAS SIMILAR ULTIMOS 6 CICLOS',\n", - " 'MEDIANA DO HISTÓRICO', 'DE PARA PDV', 'SKU', 'PDVDEPARA.PRACTICO',\n", - " 'CÓDIGO', 'CRESCIMENTO_FINAL', 'PV GINSENG'],\n", + " 'CICLO', 'VENDAS CICLO LANÇAMENTO', 'SKU', '202408',\n", + " 'PICO VENDAS SIMILAR ULTIMOS 6 CICLOS', 'MEDIANA DO HISTÓRICO',\n", + " 'DE PARA PDV', 'SKU', 'CRESCIMENTO_FINAL', 'PV GINSENG'],\n", " dtype='object')" ] }, - "execution_count": 98, + "execution_count": 108, "metadata": {}, "output_type": "execute_result" } @@ -5706,14 +5306,14 @@ "source": [ "df_final.columns = df_final.columns.str.upper()\n", "\n", - "df_final.drop(columns=df_final.filter(regex='HISTÓRICO DE VENDAS DO CICLO').columns, inplace=True)\n", + "df_final.drop(columns=df_final.filter(regex='_Y').columns, inplace=True)\n", "\n", "df_final.columns" ] }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 109, "id": "dceebd16", "metadata": {}, "outputs": [], @@ -5723,17 +5323,17 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 110, "id": "62ce5c62", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(2291, 94)" + "(1527, 73)" ] }, - "execution_count": 100, + "execution_count": 110, "metadata": {}, "output_type": "execute_result" } @@ -5744,7 +5344,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 111, "id": "cecca116", "metadata": {}, "outputs": [], @@ -5754,7 +5354,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 112, "id": "8ad318b0", "metadata": {}, "outputs": [], @@ -5800,7 +5400,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 113, "id": "25cbff26", "metadata": {}, "outputs": [ @@ -5810,7 +5410,7 @@ "\"df_final = df_final.reindex(columns=[\\n 'SUPERVISOR',\\n 'ANALISTA',\\n 'CANAL',\\n 'UF',\\n 'PDV',\\n 'DESCRIÇÃO PDV',\\n 'PRODUTO LANÇAMENTO',\\n 'DESCRIÇÃO DO LANÇAMENTO',\\n 'MARCA',\\n 'CATEGORIA',\\n 'MECANICA CONSUMIDOR',\\n '% CONSUMIDOR',\\n 'MECANICA REVENDEDOR',\\n '% REVENDEDOR',\\n 'TIPO DE PRODUTO',\\n 'IAF',\\n 'FOCO',\\n 'PRODUTO SIMILAR',\\n 'DESCRIÇÃO SIMILAR',\\n 'CICLO SIMILAR',\\n 'VENDAS CICLO LANÇAMENTO',\\n 'C-4',\\n 'C-3',\\n 'C-2',\\n 'C-1',\\n 'VENDAS CICLO ATUAL',\\n 'PICO VENDAS SIMILAR ULTIMOS 6 CICLOS',\\n 'PV GINSENG'])\\n\"" ] }, - "execution_count": 103, + "execution_count": 113, "metadata": {}, "output_type": "execute_result" } @@ -5850,7 +5450,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 114, "id": "a3e80cb4", "metadata": {}, "outputs": [], @@ -5862,7 +5462,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 115, "id": "cc9c6ee6", "metadata": {}, "outputs": [], @@ -5876,7 +5476,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 116, "id": "df9f0130", "metadata": {}, "outputs": [], @@ -5886,7 +5486,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 117, "id": "7778d82f", "metadata": {}, "outputs": [ @@ -5905,7 +5505,7 @@ " dtype='object')" ] }, - "execution_count": 107, + "execution_count": 117, "metadata": {}, "output_type": "execute_result" } @@ -5916,7 +5516,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 118, "id": "f8cd886a", "metadata": {}, "outputs": [ @@ -5973,18 +5573,18 @@ " AL\n", " 12522\n", " MACEIO SHOP EXP\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " NATIVA SPA\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " LILY\n", " CUIDADOS COM A PELE\n", " ...\n", - " 2.0\n", - " 3.0\n", " 0.0\n", " 2.0\n", + " 2.0\n", " 0.0\n", - " 3.0\n", - " 27\n", + " 0.0\n", + " 2.0\n", + " 2\n", " \n", " \n", " \n", @@ -5997,18 +5597,18 @@ " AL\n", " 12817\n", " SHOPPING PATIO\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " NATIVA SPA\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " LILY\n", " CUIDADOS COM A PELE\n", " ...\n", - " 3.0\n", + " 8.0\n", + " 1.0\n", + " 24.0\n", + " 1.0\n", " 0.0\n", - " 0.0\n", - " 3.0\n", - " 0.0\n", - " 5.0\n", - " 43\n", + " 24.0\n", + " 4\n", " \n", " \n", " \n", @@ -6016,23 +5616,23 @@ " \n", " 2\n", " Maxwell Vieira\n", - " PEDRO\n", + " VINICIUS\n", " LJ\n", " AL\n", " 12818\n", " GB SERRARIA\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " NATIVA SPA\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " LILY\n", " CUIDADOS COM A PELE\n", " ...\n", - " 4.0\n", - " 2.0\n", " 0.0\n", + " 2.0\n", + " 7.0\n", " 1.0\n", - " 4.0\n", - " 4.0\n", - " 11\n", + " 0.0\n", + " 7.0\n", + " 1\n", " \n", " \n", " \n", @@ -6045,18 +5645,18 @@ " AL\n", " 12820\n", " ATACADÃO\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " NATIVA SPA\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " LILY\n", " CUIDADOS COM A PELE\n", " ...\n", - " 0.0\n", - " 2.0\n", - " 0.0\n", + " 4.0\n", " 1.0\n", - " 2.0\n", - " 3.0\n", - " 6\n", + " 1.0\n", + " 1.0\n", + " 0.0\n", + " 4.0\n", + " 2\n", " \n", " \n", " \n", @@ -6069,18 +5669,18 @@ " AL\n", " 12823\n", " PONTA VERDE\n", - " 59823\n", - " NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ...\n", - " NATIVA SPA\n", + " 89446\n", + " LILY CR AC DES HID CP LEAU/LILY SOL 200g\n", + " LILY\n", " CUIDADOS COM A PELE\n", " ...\n", - " 4.0\n", - " 0.0\n", " 1.0\n", - " 5.0\n", - " 5.0\n", - " 7.0\n", - " 34\n", + " 0.0\n", + " 0.0\n", + " 2.0\n", + " 0.0\n", + " 2.0\n", + " 1\n", " \n", " \n", " \n", @@ -6094,42 +5694,42 @@ " SUPERVISOR ANALISTA CANAL UF PDV DESCRIÇÃO PDV \\\n", "0 Efigênia Herculano LUAN LJ AL 12522 MACEIO SHOP EXP \n", "1 Maxwell Vieira JEFFERSON LJ AL 12817 SHOPPING PATIO \n", - "2 Maxwell Vieira PEDRO LJ AL 12818 GB SERRARIA \n", + "2 Maxwell Vieira VINICIUS LJ AL 12818 GB SERRARIA \n", "3 Maxwell Vieira THAYLLAN LJ AL 12820 ATACADÃO \n", "4 Efigênia Herculano MARCYARA LJ AL 12823 PONTA VERDE \n", "\n", - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "1 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "2 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "3 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "4 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO MARCA \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g LILY \n", + "1 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g LILY \n", + "2 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g LILY \n", + "3 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g LILY \n", + "4 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g LILY \n", "\n", - " MARCA CATEGORIA ... C-4 C-3 C-2 C-1 \\\n", - "0 NATIVA SPA CUIDADOS COM A PELE ... 2.0 3.0 0.0 2.0 \n", - "1 NATIVA SPA CUIDADOS COM A PELE ... 3.0 0.0 0.0 3.0 \n", - "2 NATIVA SPA CUIDADOS COM A PELE ... 4.0 2.0 0.0 1.0 \n", - "3 NATIVA SPA CUIDADOS COM A PELE ... 0.0 2.0 0.0 1.0 \n", - "4 NATIVA SPA CUIDADOS COM A PELE ... 4.0 0.0 1.0 5.0 \n", + " CATEGORIA ... C-4 C-3 C-2 C-1 VENDAS CICLO ATUAL \\\n", + "0 CUIDADOS COM A PELE ... 0.0 2.0 2.0 0.0 0.0 \n", + "1 CUIDADOS COM A PELE ... 8.0 1.0 24.0 1.0 0.0 \n", + "2 CUIDADOS COM A PELE ... 0.0 2.0 7.0 1.0 0.0 \n", + "3 CUIDADOS COM A PELE ... 4.0 1.0 1.0 1.0 0.0 \n", + "4 CUIDADOS COM A PELE ... 1.0 0.0 0.0 2.0 0.0 \n", "\n", - " VENDAS CICLO ATUAL PICO VENDAS SIMILAR ULTIMOS 6 CICLOS PV GINSENG \\\n", - "0 0.0 3.0 27 \n", - "1 0.0 5.0 43 \n", - "2 4.0 4.0 11 \n", - "3 2.0 3.0 6 \n", - "4 5.0 7.0 34 \n", + " PICO VENDAS SIMILAR ULTIMOS 6 CICLOS PV GINSENG SUGESTÃO METASELLIN \\\n", + "0 2.0 2 \n", + "1 24.0 4 \n", + "2 7.0 1 \n", + "3 4.0 2 \n", + "4 2.0 1 \n", "\n", - " SUGESTÃO METASELLIN SUGESTÃO ABASTECIMENTO SUGESTÃO COMERCIAL \n", - "0 \n", - "1 \n", - "2 \n", - "3 \n", - "4 \n", + " SUGESTÃO ABASTECIMENTO SUGESTÃO COMERCIAL \n", + "0 \n", + "1 \n", + "2 \n", + "3 \n", + "4 \n", "\n", "[5 rows x 31 columns]" ] }, - "execution_count": 108, + "execution_count": 118, "metadata": {}, "output_type": "execute_result" } @@ -6144,12 +5744,293 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 119, + "id": "eaf25e4b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['SUPERVISOR', 'ANALISTA', 'CANAL', 'UF', 'PDV', 'DESCRIÇÃO PDV',\n", + " 'PRODUTO LANÇAMENTO', 'DESCRIÇÃO DO LANÇAMENTO', 'MARCA', 'CATEGORIA',\n", + " '% CONSUMIDOR', 'MECANICA CONSUMIDOR', '% REVENDEDOR',\n", + " 'MECANICA REVENDEDOR', 'TIPO DE PRODUTO', 'IAF', 'FOCO',\n", + " 'PRODUTO SIMILAR', 'DESCRIÇÃO SIMILAR', 'CICLO SIMILAR',\n", + " 'VENDAS CICLO LANÇAMENTO', 'C-4', 'C-3', 'C-2', 'C-1',\n", + " 'VENDAS CICLO ATUAL', 'PICO VENDAS SIMILAR ULTIMOS 6 CICLOS',\n", + " 'PV GINSENG', 'SUGESTÃO METASELLIN', 'SUGESTÃO ABASTECIMENTO',\n", + " 'SUGESTÃO COMERCIAL'],\n", + " dtype='object')" + ] + }, + "execution_count": 119, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_final.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "9b866c74", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# lista de colunas numéricas\n", + "numeric_cols = [\n", + " 'VENDAS CICLO LANÇAMENTO', 'C-4', 'C-3', 'C-2', 'C-1',\n", + " 'VENDAS CICLO ATUAL', 'PICO VENDAS SIMILAR ULTIMOS 6 CICLOS',\n", + " 'PV GINSENG', 'SUGESTÃO METASELLIN', 'SUGESTÃO ABASTECIMENTO',\n", + " 'SUGESTÃO COMERCIAL'\n", + "]\n", + "\n", + "# colunas não numéricas = todas menos as numéricas\n", + "non_numeric_cols = [col for col in df_final.columns if col not in numeric_cols]\n", + "\n", + "# agrupar por todas as não numéricas, pegando o máximo das numéricas\n", + "df_final_sem_dupli = (\n", + " df_final\n", + " .groupby(non_numeric_cols, as_index=False)[numeric_cols]\n", + " .sum()\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "f491d15f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SUPERVISORANALISTACANALUFPDVDESCRIÇÃO PDVPRODUTO LANÇAMENTODESCRIÇÃO DO LANÇAMENTOMARCACATEGORIA...C-4C-3C-2C-1VENDAS CICLO ATUALPICO VENDAS SIMILAR ULTIMOS 6 CICLOSPV GINSENGSUGESTÃO METASELLINSUGESTÃO ABASTECIMENTOSUGESTÃO COMERCIAL
00JEFFERSONLJBA324253Matriz Centro48780COFFEE DES ANTIT AER WOMAN SEDUC 75g V4COFFEEDESODORANTES...1.00.02.02.00.02.00
10JEFFERSONLJBA324253Matriz Centro49154COFFEE DES COL UNIQ WOM FL/GOURM 100mlCUIDE-SE BEMPERFUMARIA...1.00.00.01.00.01.028
20JEFFERSONLJBA324253Matriz Centro49193COFFEE DES COL UNIQ MAN FOUG/OR 100mlCOFFEEPERFUMARIA...0.01.00.01.00.01.028
30JEFFERSONLJBA324253Matriz Centro49893CBEM LOC DES HID CPO ROS/ALG V3 400mlFLORATTACUIDADOS COM A PELE...4.02.02.01.01.04.02
40JEFFERSONLJBA324253Matriz Centro49943CBEM LOC DES HID CPO PESSEGURA V2 400mlCUIDE-SE BEMCUIDADOS COM A PELE...2.01.01.01.00.02.00
\n", + "

5 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " SUPERVISOR ANALISTA CANAL UF PDV DESCRIÇÃO PDV PRODUTO LANÇAMENTO \\\n", + "0 0 JEFFERSON LJ BA3 24253 Matriz Centro 48780 \n", + "1 0 JEFFERSON LJ BA3 24253 Matriz Centro 49154 \n", + "2 0 JEFFERSON LJ BA3 24253 Matriz Centro 49193 \n", + "3 0 JEFFERSON LJ BA3 24253 Matriz Centro 49893 \n", + "4 0 JEFFERSON LJ BA3 24253 Matriz Centro 49943 \n", + "\n", + " DESCRIÇÃO DO LANÇAMENTO MARCA CATEGORIA \\\n", + "0 COFFEE DES ANTIT AER WOMAN SEDUC 75g V4 COFFEE DESODORANTES \n", + "1 COFFEE DES COL UNIQ WOM FL/GOURM 100ml CUIDE-SE BEM PERFUMARIA \n", + "2 COFFEE DES COL UNIQ MAN FOUG/OR 100ml COFFEE PERFUMARIA \n", + "3 CBEM LOC DES HID CPO ROS/ALG V3 400ml FLORATTA CUIDADOS COM A PELE \n", + "4 CBEM LOC DES HID CPO PESSEGURA V2 400ml CUIDE-SE BEM CUIDADOS COM A PELE \n", + "\n", + " ... C-4 C-3 C-2 C-1 VENDAS CICLO ATUAL \\\n", + "0 ... 1.0 0.0 2.0 2.0 0.0 \n", + "1 ... 1.0 0.0 0.0 1.0 0.0 \n", + "2 ... 0.0 1.0 0.0 1.0 0.0 \n", + "3 ... 4.0 2.0 2.0 1.0 1.0 \n", + "4 ... 2.0 1.0 1.0 1.0 0.0 \n", + "\n", + " PICO VENDAS SIMILAR ULTIMOS 6 CICLOS PV GINSENG SUGESTÃO METASELLIN \\\n", + "0 2.0 0 \n", + "1 1.0 28 \n", + "2 1.0 28 \n", + "3 4.0 2 \n", + "4 2.0 0 \n", + "\n", + " SUGESTÃO ABASTECIMENTO SUGESTÃO COMERCIAL \n", + "0 \n", + "1 \n", + "2 \n", + "3 \n", + "4 \n", + "\n", + "[5 rows x 31 columns]" + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_final_sem_dupli.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 122, "id": "2df3e2e9", "metadata": {}, "outputs": [], "source": [ - "df_final.to_excel(f'C:/Users/joao.herculano/Documents/Lançamento{hoje}{ciclo_lanc}.xlsx',index=False)" + "df_final_sem_dupli.to_excel(f'C:/Users/joao.herculano/Documents/Lançamento{hoje}{ciclo_lanc}!!2.xlsx',index=False)" ] } ],