Подходил ли этот подход к тому, что вы ищете?

от вопрос уже есть ответ здесь:

Панды Слияния 101 1 ответ

У меня есть два кадра данных,

df1 = pd.DataFrame({'A': ['A1', 'A1', 'A2', 'A3'],
                     'B': ['121', '345', '123', '146'],
                     'C': ['K0', 'K1', 'K0', 'K1']})

df2 = pd.DataFrame({'A': ['A1', 'A3'],
                      'BB': ['B0', 'B3'],
                      'CC': ['121', '345'],
                      'DD': ['D0', 'D1']})

Теперь мне нужно получить похожие строки из столбца A и B из df1 и столбца A и CC из df2. И поэтому я попробовал возможные варианты слияния, такие как:

both_DFS=pd.merge(df1,df2, how='left',left_on=['A','B'],right_on=['A','CC'])

и это не даст мне информацию о строке из df2 dataframe, что мне и нужно. Это означает, что у меня есть все имена столбцов из df2, но строки просто пустые или Nan.

И тогда я попробовал:

Both_DFs=pd.merge(df1,df2, how='left',left_on=['A','B'],right_on=['A','CC'])[['A','B','CC']]

И это дает мне ошибку как,

KeyError: "['B'] not in index"

Я стремлюсь объединить Dataframe со всеми столбцами из df1 и df2. Любые предложения будут отличными

Желаемый вывод:

 Both_DFs
    A   B   C   BB  CC  DD
0   A1  121 K0  B0  121 D0

Поэтому в моих фреймах данных (df1 и df2) только одна строка имеет точное совпадение для обоих интересующих столбцов. То есть столбцы A и B из df1 имеют только одну строку, точно совпадающую со строками в столбцах A и CC в df2

Ответы на вопрос(3)

Ваш ответ на вопрос