Как сформировать список кортежей из столбца Dataframe

У меня есть следующий pandas dataframe df с первыми несколькими записями:

     Input      Output
0    hj1234        2
1    gu0998        5
2    iu5678        7
3    56h781        11

Мне нужно преобразовать его в 2 отдельных набора списков, выглядящих так: ] Я попытался сделать это в Excel, используя функцию сцепления, однако максимальная длина функции равна числу символов, которые можно объединить в одной строке. И поэтому я пытаюсь сделать это в Python. Пожалуйста, помогите

2
задан coldspeed 18 January 2019 в 09:36
поделиться

1 ответ

Если вы действительно хотите, это можно сделать, используя applymap и zip.

a, b = map(list, zip(*df.applymap(lambda x: (x, )).values.tolist()))   
a = list(map(tuple, [a_[0] for a_ in a]))

a
# [('h', 'j', '1', '2', '3', '4'),
#  ('g', 'u', '0', '9', '9', '8'),
#  ('i', 'u', '5', '6', '7', '8'),
#  ('5', '6', 'h', '7', '8', '1')]     
b
# [(2,), (5,), (7,), (11,)]

Другой вариант - просто обрабатывать каждый столбец отдельно.

a = list(map(tuple, df['Input']))
b = [(x, ) for x in df['Output']]

a
# [('h', 'j', '1', '2', '3', '4'),
#  ('g', 'u', '0', '9', '9', '8'),
#  ('i', 'u', '5', '6', '7', '8'),
#  ('5', '6', 'h', '7', '8', '1')]   
b
# [(2,), (5,), (7,), (11,)]
0
ответ дан coldspeed 18 January 2019 в 09:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: