Extraer el índice al comparar dos dataframe con pandas
Publicado por Iván (1 intervención) el 10/09/2019 15:25:41
Buenas tardes,
soy nuevo en Python y he descubierto hace poco pandas, una herramienta que me parece bastante útil.
Estoy teniendo un problema que no soy capaz de solucionar: Lo que quiero hacer es que dados dos dataframes distintos se comparar dos columnas.
La comparación se basaría en la idea de que para cada elemento de la columna me busque donde aparece en la segunda columna y me devuelva el índice, (esto se podría hacer con dos for y un if pero tengo 50.000 filas y se hace inviable) por lo que creo que se podría hacer así con pandas:
El problema es que en la función COMPARA estoy devolviendo True, cuando lo que quiero es saber el índice de la fila donde ha encontrado.
Un saludo, gracias de antemano
soy nuevo en Python y he descubierto hace poco pandas, una herramienta que me parece bastante útil.
Estoy teniendo un problema que no soy capaz de solucionar: Lo que quiero hacer es que dados dos dataframes distintos se comparar dos columnas.
La comparación se basaría en la idea de que para cada elemento de la columna me busque donde aparece en la segunda columna y me devuelva el índice, (esto se podría hacer con dos for y un if pero tengo 50.000 filas y se hace inviable) por lo que creo que se podría hacer así con pandas:
1
2
3
4
5
6
7
8
9
10
11
df = pd.read_csv(r"FIR.csv", sep=";")
df1= pd.read_csv(r"BDR.csv", sep=";")
def COMPARA(data, values):
if data in values:
return True
else:
return False
df['DNI'] = df['CODIDNAC'].apply(COMPARA, values=df1['G4093_CODIDPER'].tolist())
El problema es que en la función COMPARA estoy devolviendo True, cuando lo que quiero es saber el índice de la fila donde ha encontrado.
Un saludo, gracias de antemano
Valora esta pregunta


0