79178938

Date: 2024-11-11 19:53:52
Score: 1
Natty:
Report link

Answering my own question: flattening the df like this gives the desired outcome:

object_1df = pd.DataFrame([['a', 1], ['b', 2]],
                   columns=['letter', 'number'])
object_2df = pd.DataFrame([['b', 3, 'cat'], ['c', 4, 'dog']],
                   columns=['letter', 'number', 'animal'])
objects = [object_1df, object_2df]

catalog = pd.DataFrame()
for df in objects: 
    df.set_index('letter', inplace=True)
    flattened_data = {f'{index}_{col}': df.loc[index, col] for index in df.index for col in df.columns}
    flattened_df = pd.DataFrame([flattened_data])
    display(flattened_df)
    catalog = pd.concat([catalog, flattened_df], ignore_index=True)
display(catalog)

yields desired result

Reasons:
  • Probably link only (1):
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: Nikko Cleri