Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Criando Coragem para fazer a minha primeira analise de dados

Pessoal, seguinte... minha esposa recebe mensalmente planilhas de 4 ou 5 fornecedores diferentes... cada uma com cerca de 1000 registros... Essa planilhas não tem o mesmo layout e por isso quero criar uma rotina para o tratamento desses dados.

Eu consigo carregar elas para Jupiter. Chamo todas para dataframes independentes, indexo o registros, agrupo o que me interessa..ok... mas tem uma parte que eu não sei por onde começar

Cada registros desse vem com um código de produto do fornecedores. Na empresa na minha esposa eles tem o código deles e fazem a precificação para revenda de cada produto.

Eu preciso tratar uma coluna que traz esse código puxando somente os 6 primeiros algarismos desse código. Os demais algarismos não me interessam. (No Excel é tranquilo fazer isso, mas no pandas eu não achei como) (1) Como eu faço esse tratamento de dados?

(2) Quando eu padronizar essa coluna de códigos, eu vou comparar essa coluna com a coluna de tabela de preço dela.

Se o código existir na tabela de preço e na tabela dos dados tratados, eu preciso das informações no row desse registro nesse novo dataset

Alguma sugestão para construção desse código?

E finalmente exportar essa tabela de preço, checada com os códigos e as informações pertinentes — isso eu dou conta tranquilo!

Agradeço sugestão dos paths para essas tarefas...

2 respostas
solução!

Olá Luiz Carlos tudo bom com você?

Tentarei ajudar nessas dúvidas!

"Eu preciso tratar uma coluna que traz esse código puxando somente os 6 primeiros algarismos desse código. Os demais algarismos não me interessam. (No Excel é tranquilo fazer isso, mas no pandas eu não achei como) (1) Como eu faço esse tratamento de dados?"

df['novo_id'] = df.index.astype(str).str[:6]
print(df)

Neste exemplo que deixei, será gerada uma nova coluna com o nome "novo_id" onde será formada apenas pelos 6 primeiros números do seu atual index.

"(2) Quando eu padronizar essa coluna de códigos, eu vou comparar essa coluna com a coluna de tabela de preço dela. Se o código existir na tabela de preço e na tabela dos dados tratados, eu preciso das informações no row desse registro nesse novo dataset"

Nessa parte eu indicarei o exemplo e deixarei o LINK para a documentação técnica do Pandas.

exactly_equal = pd.DataFrame({1: [10], 2: [20]})
exactly_equal
    1   2
0  10  20
df.equals(exactly_equal)
True

Deixo também um LINK com um exemplo interessante comparando duas colunas bem próximo da aplicação almejada.

Espero que agora você consiga avançar na sua análise e caso ainda exista alguma dúvida, só retornar aqui!

Abraços!

Muito obrigado! Vou trilhar esse caminho e ver onde chego!