Панды преобразуют списки в нескольких столбцах внутри DataFrame в отдельные столбцы - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь преобразовать список в нескольких столбцах DataFrame панд в отдельные столбцы.

Скажем, у меня есть такой кадр данных:

           0          1
0  [1, 2, 3]  [4, 5, 6]
1  [1, 2, 3]  [4, 5, 6]
2  [1, 2, 3]  [4, 5, 6]

И я хочу преобразоватьэто примерно так:

   0  1  2  0  1  2
0  1  2  3  4  5  6
1  1  2  3  4  5  6
2  1  2  3  4  5  6

Мне удалось сделать это в цикле.Тем не менее, я хотел бы сделать это в несколько строк.Мой фрагмент кода пока выглядит следующим образом:

import pandas as pd

df = pd.DataFrame([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])
output1 = df[0].apply(pd.Series)
output2 = df[1].apply(pd.Series)

output = pd.concat([output1, output2], axis=1)

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Использование sum

pd.DataFrame(df.sum(1).tolist())
   0  1  2  3  4  5
0  1  2  3  4  5  6
1  1  2  3  4  5  6
2  1  2  3  4  5  6
0 голосов
/ 22 ноября 2018

Если вас не интересуют имена столбцов, вы можете сделать:

>>> df.apply(np.hstack, axis=1).apply(pd.Series)
   0  1  2  3  4  5
0  1  2  3  4  5  6
1  1  2  3  4  5  6
2  1  2  3  4  5  6
...