将值类型为list的列展平,同时在Pandas中相应地复制另一列的值

将值类型为list的列展平,同时在Pandas中相应地复制另一列的值,第1张

将值类型为list的列展平,同时在Pandas中相应地复制另一列的值

我猜想平坦列表列表的简单方法是纯python代码,因为此对象类型不太适合熊猫或numpy。所以你可以用例如

>>> b_flat = pd.Dataframe([[i, x] ...    for i, y in input['B'].apply(list).iteritems() ...         for x in y], columns=list('IB'))>>> b_flat = b_flat.set_index('I')

将B列展平,您可以将其合并回去:

>>> input[['A']].merge(b_flat, left_index=True, right_index=True)   A  B0  1  a0  1  b1  2  c[3 rows x 2 columns]

如果希望按照预期结果重新创建索引,则可以添加

.reset_index(drop=True)
到最后一个命令。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5629513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存