拆分数据框列中的列表以分隔列

我的数据框如下所示

    col1     col2     col3
0  [1, a]  [1, a1]  [1, a2]
1  [2, b]  [2, b1]  [2, b2]
2  [3, c]  [3, c1]  [3, c2]

我需要让它看起来像:

   col1     col2     col3  col4
0  a         a1      a2    1
1  b         b1      b2    2
2  c         c1      c2    3

我的代码

import pandas as pd

d = {'col1':[[1,'a'],[2,'b'],[3,'c']],
     'col2':[[1,'a1'],[2,'b1'],[3,'c1']],
     'col3':[[1,'a2'],[2,'b2'],[3,'c2']]}

df = pd.DataFrame.from_dict(d)

到目前为止,我已经尝试使用 apply(pd.Series) 并通过 for 循环迭代来重​​新分配值,但没有成功

回答

这是一种使用applymapand的方法map

df.applymap(lambda x: x[-1]).assign(col4 = df['col1'].map(lambda x: x[0]))


以上是拆分数据框列中的列表以分隔列的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>