#python #python-3.x #pandas
#python #python-3.x #pandas
Вопрос:
У меня есть один столбец в фрейме данных pandas. Каждая строка состоит из списка. Все списки имеют одинаковую длину.
0
________________________________________________________
0 [86232, 2019-09-12, INTERNET, ... , N ]
1 [86233, 2019-09-12, INTERNET, ... , M ]
2 [86234, 2019-09-12, MEZZO LIBERO, ... , Q ]
3 ...
Я хочу разделить каждый элемент каждого списка на разные столбцы. Таким образом, конечный результат будет выглядеть примерно так:
1 |2 | 3 | ... | 33
______________________________________________
86232 | 2019-09-12 | INTERNET | ... | N
86233 | 2019-09-12 | INTERNET | ... | M
86234 | 2019-09-12 | MEZZO LIBERO | ... | Q
Какой самый простой способ сделать это с Pandas?
Это схема dict
{0: {0: (86232, datetime.datetime(2019, 9, 12, 0, 0), 'INTERNET', 'A.M Web', 'Brand_SMG', 0.0, 'gen', '20_FCST', 'OnLine', 'dipendente S', 'Low Rev.', 'STx', 'A.M', 'INTERNET', 'Brand_X', 'dipendente S', 'STORICI', 'TIER 1', 1.0, 'TIER 1', 'ALIMENTARI', '04_SRM', 'SMX', 'ALTRI', 'STC', 'Reservation', 'Off On', 'Online_R', 'TIER 1', None, None, None, None),
1: (86233, datetime.datetime(2019, 9, 12, 0, 0), 'INTERNET', 'A.m Web', 'Brand_SMX', 0.0, 'feb', '20_FCST', 'OnLine', 'dipendente S', 'Low Rev.', 'STx', 'A.M', 'INTERNET', 'Brand_SMX', 'dipendente S', 'STORICI', 'TIER 1', 1.0, 'TIER 1', 'ALIMENTARI', '04_SRM', 'SMX', 'ALTRI', 'STC', 'Reservation', 'Off On', 'Online_R', 'TIER 1', None, None, None, None)}
Ответ №1:
Проверить
newdf = pd.DataFrame(df[0].tolist())
Комментарии:
1. Я уже пробовал, но это не работает. Это возвращает мне тот же фрейм данных
2. Добавлено к вопросу
Ответ №2:
Как насчет чего-то подобного?
import pandas as pd
df = pd.DataFrame({'a': [[1, 2], [3, 4], [5, 6]]})
a = []
b = []
for i, row in df.iterrows():
a.append(row['a'][0])
b.append(row['a'][1])
new_df = pd.DataFrame({'a':a, 'b':b})
print(new_df)