Como ingressar em dados de dados em pandas python?

Como ingressar em dados de dados em pandas python?
Pandas Dataframe é uma estrutura de dados bidimensional (2D) que está alinhada em um formato tabular. Esses quadros de dados podem ser combinados usando métodos diferentes, como concat (), merge () e ingressar. Os pandas têm alto desempenho e operações de junção completas que se assemelham ao banco de dados Relacional SQL. Usando a função de mescla.

Exploraremos os usos da função de mescla. Todos os exemplos serão executados através do editor de Pycharm. Vamos começar com os detalhes!

Uso da função de mesclagem

A sintaxe básica comumente usada da função Merge () é fornecida:

Pd.Merge (df_obj1, df_obj2, como = 'interior', on = Nenhum, esquerd_on = nenhum, right_on = Nenhum)

Vamos explicar os detalhes dos parâmetros:

Os dois primeiros df_obj1 e df_obj2 Argumentos são os nomes dos objetos ou tabelas do quadro de dados.

O "como”O parâmetro é usado para diferentes tipos de operações de junção, como“ esquerda, direita, externa e interior ”. A função de mesclagem usa a operação de junção "interna" por padrão.

O argumento "sobre" contém o nome da coluna no qual a operação de junção é realizada. Esta coluna deve estar presente em ambos os objetos de quadro de dados.

Nos argumentos "Left_on" e "Right_on", "Left_on" é o nome do nome da coluna como a chave no DataFrame esquerdo. O "Right_on" é o nome da coluna usada como uma chave do quadro de dados certo.

Para elaborar o conceito de ingressar no DataFrames, levamos dois objetos de quadro de dados- Produto e Cliente. Os seguintes detalhes estão presentes no quadro de dados do produto:

Produto = Pd.Quadro de dados(
'Product_id': [101,102,103,104,105,106,107],
'Product_name': ['fones de ouvido', 'bolsa', 'sapatos', 'smartphone', 'pincel de dentes', 'relógio de pulso', 'laptop'],
'Categoria': ['Electronics', 'Fashion', 'Fashion', 'Electronics', 'Grocery', 'Fashion', 'Electronics'],
'Preço': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Seller_city': ['Islamabad', 'Lahore', 'Karachi', 'Rawalpindi', 'Islamabad', 'Karachi', 'Faisalabad']
)

O quadro de dados do cliente contém os seguintes detalhes:

cliente = pd.Quadro de dados(
'ID': [1,2,3,4,5,6,7,8,9],
'Customer_name': ['Sara', 'Sana', 'Ali', 'Raees', 'Mahwish', 'Umar', 'Mirha', 'Asif', 'Maria'],
'Idade': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Product_purchased': ['fones de ouvido', 'na', 'relógio de pulso', 'na', 'sapatos', 'smartphone', 'na', 'na', 'laptop'],
'Customer_city': ['Lahore', 'Islamabad', 'Faisalabad', 'Karachi', 'Karachi', 'Islamabad', 'Rawalpindi', 'Islamabad',
'Lahore']
)

Junte -se a DataFrames em uma chave

Podemos encontrar facilmente produtos vendidos on -line e os clientes que os compraram. Portanto, com base em uma chave “Product_id”, realizamos a operação de junção interna nos dois frutos de dados da seguinte forma:

# importar biblioteca de pandas
importar pandas como PD
Produto = Pd.Quadro de dados(
'Product_id': [101,102,103,104,105,106,107],
'Product_name': ['fones de ouvido', 'bolsa', 'sapatos', 'smartphone', 'pincel de dentes', 'relógio de pulso', 'laptop'],
'Categoria': ['Electronics', 'Fashion', 'Fashion', 'Electronics', 'Grocery', 'Fashion', 'Electronics'],
'Preço': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Seller_city': ['Islamabad', 'Lahore', 'Karachi', 'Rawalpindi', 'Islamabad', 'Karachi', 'Faisalabad']
)
cliente = pd.Quadro de dados(
'ID': [1,2,3,4,5,6,7,8,9],
'Customer_name': ['Sara', 'Sana', 'Ali', 'Raees', 'Mahwish', 'Umar', 'Mirha', 'Asif', 'Maria'],
'Idade': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Product_purchased': ['fones de ouvido', 'na', 'relógio de pulso', 'na', 'sapatos', 'smartphone', 'na', 'na', 'laptop'],
'Cidade': ['Lahore', 'Islamabad', 'Faisalabad', 'Karachi', 'Karachi', 'Islamabad', 'Rawalpindi', 'Islamabad',
'Lahore']
)
Impressão (PD.Merge (Produto, Cliente, On = 'Product_id'))))

A saída a seguir é exibida na janela após a execução do código acima:

Se as colunas forem diferentes nos dois quadros de dados, escreva explicitamente o nome de cada coluna pelos argumentos de esquerda e right_on da seguinte forma:

importar pandas como PD
Produto = Pd.Quadro de dados(
'Product_id': [101,102,103,104,105,106,107],
'Product_name': ['fones de ouvido', 'bolsa', 'sapatos', 'smartphone', 'pincel de dentes', 'relógio de pulso', 'laptop'],
'Categoria': ['Electronics', 'Fashion', 'Fashion', 'Electronics', 'Grocery', 'Fashion', 'Electronics'],
'Preço': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Seller_city': ['Islamabad', 'Lahore', 'Karachi', 'Rawalpindi', 'Islamabad', 'Karachi', 'Faisalabad']
)
cliente = pd.Quadro de dados(
'ID': [1,2,3,4,5,6,7,8,9],
'Customer_name': ['Sara', 'Sana', 'Ali', 'Raees', 'Mahwish', 'Umar', 'Mirha', 'Asif', 'Maria'],
'Idade': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Product_purchased': ['fones de ouvido', 'na', 'relógio de pulso', 'na', 'sapatos', 'smartphone', 'na', 'na', 'laptop'],
'Cidade': ['Lahore', 'Islamabad', 'Faisalabad', 'Karachi', 'Karachi', 'Islamabad', 'Rawalpindi', 'Islamabad',
'Lahore']
)
Impressão (PD.Merge (Produto, Cliente, Left_on = 'Product_name', Right_on = 'Product_purcsed')))

A saída a seguir será exibida na tela:

Junte -se a DataFrames usando como o argumento

Nos exemplos a seguir, explicaremos quatro tipos de operações de junções nos quadros de dados do Pandas:

  • Junção interna
  • Junção externa
  • Associação à esquerda
  • Junção direita

Juntar -se interno em pandas

Podemos realizar uma junção interna em várias chaves. Para exibir mais detalhes sobre as vendas do produto, pegue o product_id, Seller_City do Product DataFrame e Product_Id e "Customer_City" do quadro de dados do cliente para descobrir que o vendedor ou o cliente pertence à mesma cidade. Implementar as seguintes linhas de código:

# importar biblioteca de pandas
importar pandas como PD
Produto = Pd.Quadro de dados(
'Product_id': [101,102,103,104,105,106,107],
'Product_name': ['fones de ouvido', 'bolsa', 'sapatos', 'smartphone', 'pincel de dentes', 'relógio de pulso', 'laptop'],
'Categoria': ['Electronics', 'Fashion', 'Fashion', 'Electronics', 'Grocery', 'Fashion', 'Electronics'],
'Preço': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Seller_city': ['Islamabad', 'Lahore', 'Karachi', 'Rawalpindi', 'Islamabad', 'Karachi', 'Faisalabad']
)
cliente = pd.Quadro de dados(
'ID': [1,2,3,4,5,6,7,8,9],
'Customer_name': ['Sara', 'Sana', 'Ali', 'Raees', 'Mahwish', 'Umar', 'Mirha', 'Asif', 'Maria'],
'Idade': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Product_purchased': ['fones de ouvido', 'na', 'relógio de pulso', 'na', 'sapatos', 'smartphone', 'na', 'na', 'laptop'],
'Customer_city': ['Lahore', 'Islamabad', 'Faisalabad', 'Karachi', 'Karachi', 'Islamabad', 'Rawalpindi', 'Islamabad',
'Lahore']
)
Impressão (PD.Merge (Produto, Cliente, How = 'Inner', Left_on = ['Product_id', 'Seller_City'], Right_on = ['Product_id', 'Customer_City'])))

O resultado a seguir mostra na janela depois de executar o código acima:

Junção completa/externa em pandas

As junções externas retornam os valores de frames de dados direita e esquerda, que têm correspondências. Então, para implementar a junção externa, defina o argumento "como" como externo. Vamos modificar o exemplo acima usando o conceito de junção externa. No código abaixo, ele retornará todos os valores dos quadros de dados esquerda e direita.

# importar biblioteca de pandas
importar pandas como PD
Produto = Pd.Quadro de dados(
'Product_id': [101,102,103,104,105,106,107],
'Product_name': ['fones de ouvido', 'bolsa', 'sapatos', 'smartphone', 'pincel de dentes', 'relógio de pulso', 'laptop'],
'Categoria': ['Electronics', 'Fashion', 'Fashion', 'Electronics', 'Grocery', 'Fashion', 'Electronics'],
'Preço': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Seller_city': ['Islamabad', 'Lahore', 'Karachi', 'Rawalpindi', 'Islamabad', 'Karachi', 'Faisalabad']
)
cliente = pd.Quadro de dados(
'ID': [1,2,3,4,5,6,7,8,9],
'Customer_name': ['Sara', 'Sana', 'Ali', 'Raees', 'Mahwish', 'Umar', 'Mirha', 'Asif', 'Maria'],
'Idade': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Product_purchased': ['fones de ouvido', 'na', 'relógio de pulso', 'na', 'sapatos', 'smartphone', 'na', 'na', 'laptop'],
'Customer_city': ['Lahore', 'Islamabad', 'Faisalabad', 'Karachi', 'Karachi', 'Islamabad', 'Rawalpindi', 'Islamabad',
'Lahore']
)
Impressão (PD.Merge (Produto, Cliente, On = 'Product_id', como = 'External'))))

Defina o argumento indicador como "verdadeiro" s. Você notará que a nova coluna "_merge" é adicionada no final.

# importar biblioteca de pandas
importar pandas como PD
Produto = Pd.Quadro de dados(
'Product_id': [101,102,103,104,105,106,107],
'Product_name': ['fones de ouvido', 'bolsa', 'sapatos', 'smartphone', 'pincel de dentes', 'relógio de pulso', 'laptop'],
'Categoria': ['Electronics', 'Fashion', 'Fashion', 'Electronics', 'Grocery', 'Fashion', 'Electronics'],
'Preço': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Seller_city': ['Islamabad', 'Lahore', 'Karachi', 'Rawalpindi', 'Islamabad', 'Karachi', 'Faisalabad']
)
cliente = pd.Quadro de dados(
'ID': [1,2,3,4,5,6,7,8,9],
'Customer_name': ['Sara', 'Sana', 'Ali', 'Raees', 'Mahwish', 'Umar', 'Mirha', 'Asif', 'Maria'],
'Idade': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Product_purchased': ['fones de ouvido', 'na', 'relógio de pulso', 'na', 'sapatos', 'smartphone', 'na', 'na', 'laptop'],
'Customer_city': ['Lahore', 'Islamabad', 'Faisalabad', 'Karachi', 'Karachi', 'Islamabad', 'Rawalpindi', 'Islamabad',
'Lahore']
)
Impressão (PD.Merge (Produto, Cliente, On = 'Product_id', How = 'Outer', Indicator = True))

Como você pode ver na captura de tela abaixo, os valores da coluna Merge explicam qual linha pertence a qual dataframe.

Esquerda se junta em pandas

A junção esquerda apenas exibe linhas do DataFrame esquerdo. É semelhante à junção externa. Então, mude o valor do argumento 'como' com "esquerda". Experimente o código a seguir para implementar a idéia de junção esquerda:

# importar biblioteca de pandas
importar pandas como PD
Produto = Pd.Quadro de dados(
'Product_id': [101,102,103,104,105,106,107],
'Product_name': ['fones de ouvido', 'bolsa', 'sapatos', 'smartphone', 'pincel de dentes', 'relógio de pulso', 'laptop'],
'Categoria': ['Electronics', 'Fashion', 'Fashion', 'Electronics', 'Grocery', 'Fashion', 'Electronics'],
'Preço': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Seller_city': ['Islamabad', 'Lahore', 'Karachi', 'Rawalpindi', 'Islamabad', 'Karachi', 'Faisalabad']
)
cliente = pd.Quadro de dados(
'ID': [1,2,3,4,5,6,7,8,9],
'Customer_name': ['Sara', 'Sana', 'Ali', 'Raees', 'Mahwish', 'Umar', 'Mirha', 'Asif', 'Maria'],
'Idade': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Product_purchased': ['fones de ouvido', 'na', 'relógio de pulso', 'na', 'sapatos', 'smartphone', 'na', 'na', 'laptop'],
'Customer_city': ['Lahore', 'Islamabad', 'Faisalabad', 'Karachi', 'Karachi', 'Islamabad', 'Rawalpindi', 'Islamabad',
'Lahore']
)
Impressão (PD.Merge (Produto, Cliente, On = 'Product_id', How = 'Left')))

Junte -se à direita em pandas

A junção certa mantém todas as linhas de quadro de dados certas à direita, juntamente com as linhas que também são comuns no quadro de dados esquerdo. Nesse caso, o argumento "como" é definido como o valor "certo". Execute o código a seguir para implementar o conceito de junção certo:

# importar biblioteca de pandas
importar pandas como PD
Produto = Pd.Quadro de dados(
'Product_id': [101,102,103,104,105,106,107],
'Product_name': ['fones de ouvido', 'bolsa', 'sapatos', 'smartphone', 'pincel de dentes', 'relógio de pulso', 'laptop'],
'Categoria': ['Electronics', 'Fashion', 'Fashion', 'Electronics', 'Grocery', 'Fashion', 'Electronics'],
'Preço': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Seller_city': ['Islamabad', 'Lahore', 'Karachi', 'Rawalpindi', 'Islamabad', 'Karachi', 'Faisalabad']
)
cliente = pd.Quadro de dados(
'ID': [1,2,3,4,5,6,7,8,9],
'Customer_name': ['Sara', 'Sana', 'Ali', 'Raees', 'Mahwish', 'Umar', 'Mirha', 'Asif', 'Maria'],
'Idade': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Product_purchased': ['fones de ouvido', 'na', 'relógio de pulso', 'na', 'sapatos', 'smartphone', 'na', 'na', 'laptop'],
'Customer_city': ['Lahore', 'Islamabad', 'Faisalabad', 'Karachi', 'Karachi', 'Islamabad', 'Rawalpindi', 'Islamabad',
'Lahore']
)
Impressão (PD.Merge (Produto, Cliente, On = 'Product_id', How = 'Right')))

Na captura de tela a seguir, você pode ver o resultado depois de executar o código acima:

União de dados de dados usando a função concat ()

Dois quadros de dados podem ser unidos usando a função Concat. A sintaxe básica da função de concatenação é dada abaixo:

Pd.concat ([df_obj1, df_obj_2]))

Dois objetos de dados de dados passarão como argumentos.

Vamos juntar -se ao produto e ao cliente do DataFrames por meio da função Concat. Execute as seguintes linhas de código para ingressar em dois quadros de dados:

# importar biblioteca de pandas
importar pandas como PD
Produto = Pd.Quadro de dados(
'Product_id': [101,102,103,104,105,106,107],
'Product_name': ['fones de ouvido', 'bolsa', 'sapatos', 'smartphone', 'pincel de dentes', 'relógio de pulso', 'laptop'],
'Categoria': ['Electronics', 'Fashion', 'Fashion', 'Electronics', 'Grocery', 'Fashion', 'Electronics'],
'Preço': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Seller_city': ['Islamabad', 'Lahore', 'Karachi', 'Rawalpindi', 'Islamabad', 'Karachi', 'Faisalabad']
)
cliente = pd.Quadro de dados(
'ID': [1,2,3,4,5,6,7,8,9],
'Customer_name': ['Sara', 'Sana', 'Ali', 'Raees', 'Mahwish', 'Umar', 'Mirha', 'Asif', 'Maria'],
'Idade': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Product_purchased': ['fones de ouvido', 'na', 'relógio de pulso', 'na', 'sapatos', 'smartphone', 'na', 'na', 'laptop'],
'Customer_city': ['Lahore', 'Islamabad', 'Faisalabad', 'Karachi', 'Karachi', 'Islamabad', 'Rawalpindi', 'Islamabad',
'Lahore']
)
Impressão (PD.concat ([produto, cliente]))

Conclusão:

Neste artigo, discutimos a implementação de função Merge (), Concat () e ingressam na operação em Pandas Python. Usando os métodos acima, você pode ingressar facilmente a dois quadros de dados e aprendido. Como implementar as operações de junção "interno, externo, esquerda e direita" em pandas. Felizmente, este tutorial o guiará na implementação das operações de junção em diferentes tipos de dados de dados. Informe -nos sobre suas dificuldades em caso de qualquer erro.