Cara, achei que não ia consegui, mas achei uma solução por aqui, fiz umas perguntas na internet e achei essa solução:
Vamos utilizar o método isin() do português seria "está em". Esse método supera aquele o qual eu mostrei anteriormente, pois realmente o anterior leva em consideração o índice.
Esse novo que estou apresentando percorre internamente e compara os valores que estão dentro das colunas.
1º Vamos fazer isso para df1 depois para df2:
# Importar o pandas para manipulação de dataframes
import pandas as pd
atribui o excel p/ Dataframe com nome de 'df'
df = pd.read_excel('comparar.xlsx')
# Cria dois dataframes com nome de: df1 e df2
df1 = df[['SOCIN']]
df2 = df[['RMS']]
2º Vamos selecionar os valores que existem em DF1 e que estão em DF2, e depois, os que existem em DF2 e estão em DF1, vamos fazer isso com o método do pandas isin().
Vamos fazer como o código abaixo:
#aqui começa o código de nosso interesse:
# Vamos fazer uma seleção novamente atribuindo uma variável a ela.
# esse código retorna uma lista boleana, dos valores que de DF1 que existem em DF2: true se existir ou false se não existir
existem_em_df1 = df1['SOCIN'].isin(df2['RMS'])
existem_em_df2 =df2['RMS'].isin(df1['SOCIN'])
3º Vamos ver os valores que existem em df1 e que não existem em df2, para esse tipo de seleção, vamos usar o operador de negação do python.
Ele tem o símbolo ~.
Como já sabemos os valores que existem, colocando o operador de negação em frente, obteremos os valores que não existem:
nao_existem_em_df1 = ~existem_em_df1
nao_existem_em_df2 = ~existem_em_df2
4º Nossa seleção está pronta, agora basta chamar os dataframes DF1 e DF2 para sabermos quem existe ou quem não existe.
Segue o código abaixo:
# obtem os valores que existem no em ambos os Dataframes (df1 e df2):
df1 = df1[existem_em_df1] #retorna os valores que existem em df1 e existem em df2
df2 = df2[existem_em_df2] #retorna os valores que existem em df2 e existem em df1
df1_ = df1[nao_existem_em_df1] #retorna os valores que estão em DF1, mas não estão em DF2
df2_ = df2[nao_existem_em_df2] #retorna os valores que estão em DF2, mas não estão em DF1
Pelos testes que realizei, são 4 números que não estão em uma das colunas.
2 na coluna RMS e 2 na coluna SOCIN.
Amigo, espero ter ajudado!!!!