如何在pandas DataFrame中将列表元素从多列转置为行?

时间:2018-07-05 19:15:58

标签: python pandas

我有一个这样的数据框:

                     args  inputs
0  [a.pl, foo, -bar, baz]  [a, b]
1  [a.pl, BAH, -bar, baz]  [a, c]

有多列,并且所有单元格都包含一个字符串列表。我该如何转置这些列表以产生此结果:

         args inputs
index i             
0     1  a.pl      a
      2   foo      b
      3  -bar    NaN
      4   baz    NaN
1     1  a.pl      a
      2   BAH      c
      3  -bar    NaN
      4   baz    NaN

1 个答案:

答案 0 :(得分:7)

类似stack + unstack

df.stack().apply(pd.Series).stack().unstack(1)
Out[27]: 
     args inputs
0 0  a.pl      a
  1   foo      b
  2  -bar   None
  3   baz   None
1 0  a.pl      a
  1   BAH      c
  2  -bar   None
  3   baz   None