Pergunta: Estou trabalhando em um projeto Python onde tenho um dataset com duas colunas: "Big List" e "Small List". Preciso comparar os valores na coluna "Pequena lista" com os valores na coluna "Grande lista" e classificá-los de acordo. Se um valor da coluna "Small List" for encontrado na coluna "Big List", desejo classificar a linha correspondente na coluna "Small List".
Por exemplo, digamos que eu tenha os seguintes dados:
Grande Lista | Lista Pequena |
---|---|
10 | 20 |
20 | 30 |
30 | 60 |
40 | 0 |
50 | 0 |
60 | 0 |
20 | 0 |
Nesse cenário, pretendo comparar cada valor da coluna "Pequena lista" com os valores da coluna "Grande lista". Em seguida, classificarei esses valores na "Lista Pequena" na mesma linha em que o valor correspondente na coluna "Lista Grande" corresponder.
O que eu quero:
Grande Lista | Lista Pequena |
---|---|
10 | 0 |
20 | 20 |
30 | 30 |
40 | 0 |
50 | 0 |
60 | 60 |
20 | 20 |
O que tentei: pesquisei sobre o uso de loops e instruções condicionais, mas estou tendo problemas para descobrir como comparar e classificar com eficiência os valores entre essas duas colunas.
import pandas as pd
data = {'Big List': [10, 20, 30, 40,50,60,20], 'Small List': [20,30,60]}
df = pd.DataFrame(data)
# Loop through rows and compare values
for index, row in df.iterrows():
if row['Small List'] in df['Big List']:
# Sort the row in the "Small List" column
# Stuck here
df
Mascarar os valores na Big List que não pertencem à Small List