Ошибка при объединении двух фреймов данных - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь объединить два фрейма данных для выполнения некоторого анализа, однако, когда я пытаюсь это сделать, я получаю сообщение об ошибке на ключе, к которому пытаюсь присоединиться, указывая, что у него есть дубликаты, а также о dtypes.

Однако я изменил dtpes, чтобы они соответствовали перед слиянием, и я также проверяю наличие дубликатов в поле, к которому я пытаюсь присоединиться, и нет дубликатов.

Это первый кадр данных:

data_edw.dtypes

cntry_enti_nbr      int64
Total_IPF           int64
Total_IEF           int64
Total_Volume        int64
Total_Weight      float64
dtype: object

Это второй фрейм данных:

data_oracle.dtypes 

CNTRY_ENTI_NBR           int64
TR_CURR_IPF_VOL_PCT    float64
TR_CURR_IEF_VOL_PCT    float64
dtype: object

Логика слияния

d1 = data_edw.merge(data_oracle, on='cntry_enti_nbr', how ='left')

Ошибка, как показано ниже

1381         # Check for duplicates

KeyError: 'cntry_enti_nbr'

Я даже проверил наличие дубликатов в столбце, но их нет

data_edw['cntry_enti_nbr'].duplicated().any()

False

1 Ответ

1 голос
/ 25 апреля 2019

cntry_enti_nbr во втором кадре данных в верхнем регистре, попробуйте изменить его в нижний регистр

data_oracle.rename(columns={'CNTRY_ENTI_NBR':'cntry_enti_nbr'}, inplace=True)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...