Код: Выделить всё
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'])

Мне нужно сделать каталог из одной строки для каждого DataFrame и столбцов, равных количеству элементов. Окончательная форма должна представлять собой одну строку для каждого df со столбцами:

Я предпринял очень уродливую попытку:
Код: Выделить всё
objects = [object_1df, object_2df]
catalog = pd.DataFrame()
for objectdf in objects:
object_row = pd.DataFrame()
for letter in objectdf['letter']:
for column in objectdf.columns:
object_row[f'{letter}_{column}'] = objectdf[column].loc[objectdf['letter']==letter]
catalog = pd.concat([catalog, object_row], ignore_index=True)
display(catalog)

Этот результат по существу считает только первую строку из каждого df и выдает NaN во всех остальных местах. Как это было бы правильно сделать?
Подробнее здесь: https://stackoverflow.com/questions/791 ... lumn-pairs
Мобильная версия