None of [Index([], dtype='object')] are in the [columns] - pd.merge error

Viewed 18

I am having problems when Im trying to merge two dataframes. Here is an example of dataframe structures.

DataFrame 1:

code name 
1    billy 
2    gary
3    fred

DataFrame 2:

code valeu date 
1    2      05/25
2    3      06/26
5    4      07/27

I want to get an result like this:

code value date  name
1    2     05/25  billy
2    3     06/26  gary
5    4     07/27

This is the code that gave me this error message:

result = pd.merge(base_platinum[['Número da ADE', 'Operador']], backoffice[['Adesão', 'Operador']], left_on='Número da ADE', right_on='Adesão', how='left')

This is the error message:

KeyError: "None of [Index(['Adesão', 'Operador'], dtype='object')] are in the [columns]"

1 Answers
import pandas as pd

df1 = pd.DataFrame([
    [1, 'billy'], [2, 'gary'], [3, 'fred']
], columns=['code', 'name'])

df2 = pd.DataFrame([
    [1, 2, '05/25'],
    [2, 3, '06/26'],
    [5, 4, '07/27']
], columns=['code', 'valeu', 'date'])

df3 = df2.merge(df1, how='left', on='code')
print(df3)

prints

index code valeu date name
0 1 2 05/25 billy
1 2 3 06/26 gary
2 5 4 07/27 NaN
Related