2015-06-24 2 views
3

У меня есть образец dataframe следующегоПреобразовать панда dataframe в список кортежей

>>> df 
    a b 
0 1 2 
1 3 4 

Я хочу, чтобы преобразовать это в список кортежей. Я попытался с помощью itertuples() для того же

>>> list(df.T.itertuples()) 
[('a', 1, 3), ('b', 2, 4)] 

Но я хочу, чтобы результат в формате [('а', [1, 3]), ('B', [2, 4])] в котором первым значением кортежа является имя столбца, а второй элемент в кортеже - это список значений столбца.

Я знаю, что это можно сделать, пройдя все имена столбцов и вручную создав список кортежей. Мне просто интересно, есть ли более разумный способ сделать это.

+1

Если значения ир массивы это приемлемо? 'list (zip (df.columns, df.T.values))' – EdChum

ответ

7

Вы можете заархивировать имена столбцов со значениями в виде списков:

In [127]: 
list(zip(df.columns,df.T.values.tolist())) 

Out[127]: 
[('a', [1, 3]), ('b', [2, 4])] 
+1

Как я забыл zip! Спасибо Эд! – psteelk

Смежные вопросы