Я хотел бы взять в качестве ПАНДЫ Dataframe с именем df
, который имеет столбец идентификаторов и столбцы списков с переменным количеством кортежей, все кортежи имеют одинаковую длину. Похоже, это:Pandas - Распаковать столбец списков разной длины кортежей
ID list
1 [(0,1,2,3),(1,2,3,4),(2,3,4,NaN)]
2 [(Nan,1,2,3),(9,2,3,4)]
3 [(Nan,1,2,3),(9,2,3,4),(A,b,9,c),($,*,k,0)]
И я хотел бы, чтобы распаковать каждый список в столбцы «A», «B», «C», «D», представляющей фиксированные позиции в каждом наборе.
Результат должен выглядеть следующим образом:
ID A B C D
1 0 1 2 3
1 1 2 3 4
1 2 3 4 NaN
2 NaN 1 2 3
2 9 2 3 4
3 NaN 1 2 3
3 9 2 3 4
3 A b 9 c
3 $ * k 0
Я попытался df.apply(pd.Series(list)
, но не как len
из элементов списка отличается на разных строках. Как-то нужно распаковать столбцы и транспонировать по ID?
Какой колдовство это! Отлично! – clg4
. @ Chrisb Когда я запускаю это, я получаю >> конструктор DataFrame неправильно вызванный! – Merlin
Прекрасно работает для меня. Версия панд? – clg4