Конвертировать pandas dataframe в список кортежей
У меня есть примерный фрейм данных
>>> df
a b
0 1 2
1 3 4
Я хочу преобразовать это в список кортежей. Я пытался с помощью itertuples()
для того же
>>> list(df.T.itertuples())
[('a', 1, 3), ('b', 2, 4)]
Но я хочу, чтобы результат имел формат [('a', [1, 3]), ('b', [2, 4])], где первое значение кортежа - это имя столбца, а второе - Элемент в кортеже - это список значений столбцов.
Я знаю, что это можно сделать, просматривая все имена столбцов и вручную создавая список кортежей. Мне просто интересно, есть ли более разумный способ сделать это.
1 ответ
Решение
Вы можете сжать имена столбцов со значениями в виде списков:
In [127]:
list(zip(df.columns,df.T.values.tolist()))
Out[127]:
[('a', [1, 3]), ('b', [2, 4])]