Ошибка при .merge() двух DataFrames. Появляется много "лишних" строк
#два датафрейма df1 и df2, общий столбец course_id, содержит 16 уникальных значений. #df1 - 300 тыс срок #df2 - 1200 строк
df1 = full_df[['progress_id', 'course_id']]
df2 = course_contents_df[['course_id', 'lesson_token']]
df1 = df1.merge(df2, left_on='course_id', right_on='course_id')
при слиянии получается 30 млн строк. откуда? в итоговом фрейме также 16 уникальных значений course_id
df1.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 350677 entries, 0 to 350676
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 progress_id 350677 non-null object
1 course_id 350677 non-null object
dtypes: object(2)
memory usage: 8.0+ MB
df2.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1201 entries, 0 to 1200
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 course_id 1201 non-null object
1 lesson_token 1201 non-null object
dtypes: object(2)
memory usage: 18.9+ KB
Дубликатов нет ни в 1, ни во 2 фрейме
Источник: Stack Overflow на русском