Соотнесение столбцов dataframe pandas

Всем привет! Есть два датафрейма с разной структурой:

df_old = pd.DataFrame(columns=['id','old_col1','old_col2', 'old_col3', 'old_col4'])
df = pd.DataFrame(columns=['id','col1','col2'])

Требуется перенести данные из df_old в df через append по такой логике:

df['id'] = df_old['id']
df['col1'] = df_old['old_col2']
df['col2'] = df_old['old_col3']

Нужно как то записать эту логику в вызове append, но не понимаю как. Вариант перестроить df_old не сработает в данной ситуации, так как данные переносятся из df_old в df по определенной логике с использованием append для каждой строки фрейма. Вызываю данную логику через apply:

def makeList(x, course_name):
  if (x['old_col4'] == 1):
    df.append(x) # тут нужно средактировать append так, чтобы df['col1'] соотностился с df_old['old_col2]
  else:
    if (len(df[df['id'] == x['id']]) != 0):
      if (x['old_col2'] == course_name):
        df_result[df_result['id'] == x['id']]['col2'] = x['old_col2']
      else:
        df_result[df_result['id'] == x['id']]['col2'] = x['old_col3']
    else:
      if (x['old_col2'] == course_name):
        df_result.append(x) # тут нужно средактировать append так, чтобы df['col1'] соотностился с df_old['old_col2]
      else:
        df_result.append(x) # тут нужно средактировать append так, чтобы df['col1'] соотностился с df_old['old_col3]
  return x

Ответы (0 шт):