#python #pandas #list
#python #панды #Список
Вопрос:
Итак, я пытался преобразовать фрейм данных в список с помощью пакета pandas на python с таким форматом:
[('row1 element1', 'row1 element2', 'row1 element3'), ('row2 element1', 'row2 element2', 'row2 element3'), ('row3 element1', 'row3 element2', 'row3 element3')...]
Самое близкое, что мне удалось, — это использовать следующий фрагмент:
df.values.tolist()
однако это дает следующий формат:
['row1 element1', 'row1 element2', 'row1 element3'],
['row2 element1', 'row2 element2', 'row2 element3'],
['row3 element1', 'row3 element2', 'row3 element3']...
Есть ли какой-нибудь простой способ получить необходимый формат? Возможно, можно было бы предложить существующий метод или простой итеративный процесс. Любая помощь приветствуется.
Ответ №1:
Вы можете сгенерировать массив записей для быстрого подхода:
df.to_records(index=False).tolist()
Ответ №2:
Если вы хотите преобразовать список списков в список кортежей, так:
>>> a = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11], [12, 13, 14], [15, 16, 17], [18, 19]]
>>> [tuple(x) for x in a]
[(0, 1, 2), (3, 4, 5), (6, 7, 8), (9, 10, 11), (12, 13, 14), (15, 16, 17), (18, 19)]