Im trying to merge only some columns of two dataframes. But Im having a error in subject.
import pandas as pd
planilha = pd.read_excel('campanha.xlsx', None)
pastas = list(planilha.keys())
campanha0 = pastas[0]
tabela = planilha['pluma_espuma_1'].merge(planilha['campanha_anexo3_mar_0'][['subprojet', 'Campanha', 'Pernada']], left_on='ParentGlobalID', right_on='GlobalID', how='left')
print(tabela.head())
but got the following error:
Traceback (most recent call last):
  File "D:\DADOS\Python\trabalhos\Logistica_rrdm\teste_excel_pd.py", line 19, in <module>
    tabela = planilha['pluma_espuma_1'].merge(planilha['campanha_anexo3_mar_0'][['subprojet', 'Campanha', 'Pernada']], left_on='ParentGlobalID', right_on='GlobalID', how='left')
  File "C:\Users\Aroldo\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\frame.py", line 8195, in merge
    return merge(
  File "C:\Users\Aroldo\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\reshape\merge.py", line 74, in merge
    op = _MergeOperation(
  File "C:\Users\Aroldo\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\reshape\merge.py", line 668, in __init__
    ) = self._get_merge_keys()
  File "C:\Users\Aroldo\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\reshape\merge.py", line 1033, in _get_merge_keys
    right_keys.append(right._get_label_or_level_values(rk))
  File "C:\Users\Aroldo\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\generic.py", line 1684, in _get_label_or_level_values
    raise KeyError(key)
KeyError: 'GlobalID'
About my data, I'm getting data from excel, like above, but constructing a dataframe my inputs looks exactly like this:
import pandas as pd
pluma_espuma_1 = pd.DataFrame({'ObjectID': [3, 4],
                   'GlobalID': ['a431fd6a-24f6-436e-a3b4-e7d8b44c80a3', 'b5ad25e8-9c99-40fd-b838-4127c6457f59'],
                    'Data': ['21/04/2021', '01/05/2021'],
                    'Estacao': [1500, 5500],
                    'ParentGlobalID': ['29aaebfa-67bb-4395-9d72-5aa19fcda267', 'e610b5e0-bf10-4239-90bb-3d2099e009e0']})
campanha_anexo3_mar_0 = pd.DataFrame({'ObjectID': [2, 3],
                    'GlobalID': ['29aaebfa-67bb-4395-9d72-5aa19fcda267', 'e610b5e0-bf10-4239-90bb-3d2099e009e0'],
                    'subproject': ['Marinho - Integrado', 'Dulcicola'],
                    'Campanha': [22, 23],
                    'Pernada': [1, 1],
                    'Creator': ['Ed_tty', 'Haruald']})
Any idea what should be the right way to do this? Thanks!
 
    