Programação

Python Geral Básico Função lista NumPy Pandas funções Intermediário Estruturas de decisão tuplas Programação Orientada a Objetos dicionário Avançado OO

boa tarde, gostaria de saber se tem como em python usando o pandas pegar uma coluna que repete codigos e outra coluna que varia os nome e transformar a colunas de codigo em linha e aparecer um codigo de cada e abaixo aparecer os codigo variado junto com a coluna data por exemplo:

obra pep atv txt
122345 2343897234 10 n liberado
122345 2343897235 20 liberado
122345 2343897236 30 liberado
122345 2343897237 40 liberado
122345 2343897238 50 n liberdao
122345 2343897239 60 n liberdao
1223 2343897240 10 liberado
1223 2343897241 20 liberado
1223 2343897242 30 liberado
1223 2343897243 40 liberado
1223 2343897244 50 n liberdao
1223 2343897544 60 n liberdao

Resultado : 

  10 20 30 40 50 60
122345 n liberado liberado liberado liberado n liberdao n liberdao
1223 liberado liberado liberado liberado n liberdao n liberdao
Foto de Rafa J.
Rafa perguntou há 2 anos

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
Responder dúvida
2 respostas
1
votos
1 usuário votou nessa resposta como útil.
Professor Amador R.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 semana
Melhor resposta
Essa foi a melhor resposta, escolhida pelo autor da dúvida

Sim, é possível realizar a transformação que você descreveu usando o pandas em Python. Essa operação é conhecida como pivotamento de tabela, e você pode usar a função pivot_table para fazer isso. O objetivo é transformar os valores da coluna atv em cabeçalhos de colunas e agrupar os dados de acordo com os valores únicos na coluna obra, usando os valores da coluna txt para preencher a tabela.

Aqui está um exemplo de como você pode fazer isso:

import pandas as pd

# Exemplo de dados
dados = {
    'obra': [122345, 122345, 122345, 122345, 122345, 122345, 1223, 1223, 1223, 1223, 1223, 1223],
    'pep': [2343897234, 2343897235, 2343897236, 2343897237, 2343897238, 2343897239, 2343897240, 2343897241, 2343897242, 2343897243, 2343897244, 2343897544],
    'atv': [10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60],
    'txt': ['n liberado', 'liberado', 'liberado', 'liberado', 'n liberdao', 'n liberdao', 'liberado', 'liberado', 'liberado', 'liberado', 'n liberdao', 'n liberdao']
}

# Criando o DataFrame
df = pd.DataFrame(dados)

# Pivotando a tabela
pivot_df = df.pivot_table(index='obra', columns='atv', values='txt', aggfunc='first')

# Exibindo o resultado
print(pivot_df)

 

No código acima:

  • Primeiro, criamos um DataFrame df com os dados de exemplo fornecidos.
  • Em seguida, usamos a função pivot_table para transformar este DataFrame. Definimos index='obra' para usar a coluna obra como índice das linhas. Com columns='atv', indicamos que os valores únicos da coluna atv devem se tornar os novos cabeçalhos de colunas. O parâmetro values='txt' especifica que os valores das novas células devem vir da coluna txt. O parâmetro aggfunc='first' é utilizado para resolver possíveis conflitos ao pivotar (neste caso, apenas pegamos o primeiro valor encontrado, mas dependendo dos seus dados, você pode precisar ajustar isso).

Este código produzirá a tabela pivotada conforme você descreveu, transformando os códigos da coluna atv em cabeçalhos de coluna e agrupando os dados por obra, com os respectivos valores de txt preenchendo as células.

Envie uma dúvida gratuitamente

Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.

1
votos
1 usuário votou nessa resposta como útil.
Professor Raul C.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 2 anos

Oi, sinto muito que nenhum professor da área tenha te respondido depois de tantos meses (que não é meu caso, sou professor de História). Indico utilizar a seção Tarefas desta plataforma, abraços.

Professores particulares de Python

+ Ver todos
Encontre professor particular para te ajudar nos estudos
R$ 40 / h
Amador R.
Recife / PE
Amador R.
5,0 (1 avaliação)
Tarefas resolvidas 1 tarefa resolvida
Identidade verificada
  • CPF verificado
  • E-mail verificado
Python - Função Python - Programação Orientada a Objetos Python - Geral
Mestrado: Ciências da Computação (UFPE)
Aprenda python: do básico ao avançado com exemplos práticos. Torne-se um programador procurado! Inicie agora.
R$ 60 / h
César D.
Mogi Guaçu / SP
César D.
4,9 (805 avaliações)
Horas de aulas particulares ministradas 87 horas de aula
Tarefas resolvidas 985 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
Programação em Python Básico Python - Geral Programação em Python NumPy
Graduação: Matemática Aplicada e Computacional (Universidade Estadual de Campinas (UNICAMP))
Faça aulas de matemática, computação e programação em c, c++, java e python.
R$ 120 / h
Johny L.
Fortaleza / CE
Johny L.
4,3 (36 avaliações)
Horas de aulas particulares ministradas 94 horas de aula
Tarefas resolvidas 29 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
Python - Função Python - Geral Python - lista
Graduação: Engenharia Civil (IFCE - Campus Fortaleza)
Professor da UFC - Aulas de estatística práticas e aplicadas ao mercado de trabalho além de acadêmico