Мой ввод представляет собой список списков. Я пытаюсь преобразовать каждый подсписок в фрейм данных с двумя столбцами, а затем преобразовать все фреймы данных вместе.
У меня в этом списке более 80 подсписков, вот пример:
[[('04-24-2019 18:51:54:629', 'a'),
('04-24-2019 18:51:54:790', 'p'),
('04-24-2019 18:51:54:934', 'p'),
('04-24-2019 18:51:55:65', 'l'),
('04-24-2019 18:51:55:157', 'e'),
('04-24-2019 18:51:57:710', 'b'),
('04-24-2019 18:51:57:862', 'o'),
('04-24-2019 18:51:58:501', 'backspace'),
('04-24-2019 18:51:59:368', 'e'),
('04-24-2019 18:51:59:507', 'e'),
('04-24-2019 18:51:59:800', 's'),
('04-24-2019 18:52:05:502', 'backspace')],
[('04-24-2019 18:51:54:629', 'a'),
('04-24-2019 18:51:54:790', 'p'),
('04-24-2019 18:51:54:934', 'p'),
('04-24-2019 18:51:55:65', 'l'),
('04-24-2019 18:51:55:157', 'e'),
('04-24-2019 18:51:57:710', 'b'),
('04-24-2019 18:51:57:862', 'o'),
('04-24-2019 18:51:58:501', 'backspace'),
('04-24-2019 18:51:59:368', 'e'),
('04-24-2019 18:51:59:507', 'e'),
('04-24-2019 18:51:59:800', 's'),
('04-24-2019 18:52:05:502', 'backspace')],
[('04-24-2019 18:51:54:629', 'a'),
('04-24-2019 18:51:54:790', 'p'),
('04-24-2019 18:51:54:934', 'p'),
('04-24-2019 18:51:55:65', 'l'),
('04-24-2019 18:51:55:157', 'e'),
('04-24-2019 18:51:57:710', 'b'),
('04-24-2019 18:51:57:862', 'o'),
('04-24-2019 18:51:58:501', 'backspace'),
('04-24-2019 18:51:59:368', 'e'),
('04-24-2019 18:51:59:507', 'e'),
('04-24-2019 18:51:59:800', 's'),
('04-24-2019 18:52:05:502', 'backspace')]]
org_time_list = []
for x in range(len(data)):
dd = (data[x]["input_clicks"])
org_time_list.append(list(dd.items()))
org_time_list
df_3 = pd.DataFrame()
for x in org_time_list:
for y in x:
df_3.append(pd.DataFrame((y), columns=['Date', 'DateValue']))
df_3
Я ожидаю, что у меня будет фрейм данных, содержащий все данные из списка списков только с двумя столбцами. Ниже приведен пример подсписка.
Date DateValue
0 04-24-2019 18:51:54:629 a
1 04-24-2019 18:51:54:790 p
2 04-24-2019 18:51:54:934 p
3 04-24-2019 18:51:55:65 l
4 04-24-2019 18:51:55:157 e
5 04-24-2019 18:51:57:710 b
6 04-24-2019 18:51:57:862 o
7 04-24-2019 18:51:58:501 backspace
8 04-24-2019 18:51:59:368 e
9 04-24-2019 18:51:59:507 e
10 04-24-2019 18:51:59:800 s
11 04-24-2019 18:52:05:502 backspace
Попробуйте использовать этот простой подход:
import functools
import operator
temp_data = functools.reduce(operator.concat, org_time_list) #flatten the list of lists
df_3 = pd.DataFrame(temp_data, columns=['Date', 'DateValue'])
Если вы можете показать, как выглядят ваши исходные данные, я думаю, что первого цикла тоже можно избежать.