为了账号安全,请及时绑定邮箱和手机立即绑定

在 Pandas 中将一列列表扩展为多行

在 Pandas 中将一列列表扩展为多行

函数式编程 2023-07-05 15:42:13
我有一个 Pandas 数据框,其中一列是一个列表。我想扩展这个列表。我怎样才能做到这一点?首先:0 [{ first: 'jon', last: 'McSmith' }, { first: 'Jennifer', last: 'Foobar'}]1 [{ first: 'dan', last: 'Raizman' }, { first: 'Alden', last: 'Lowe'}]Name: players, dtype: object结束于:   first         last--------------------------0  Jon           McSmith1  Jennifer      Foobar2  Dan           Raizman3  Alden         Lowe

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

用于水平np.hstack堆叠列中的列表players并创建一个新的数据框:

df1 = pd.DataFrame(np.hstack(df['players']).tolist())

或者使用Series.explode(在 pandas 版本 >= 中可用0.25),

df1 = pd.DataFrame(df['players'].explode().tolist())

另一种选择是itertools.chain

from itertools import chain

df1 = pd.DataFrame(chain.from_iterable(df['players']))

结果:

print(df1)


      first     last

0       jon  McSmith

1  Jennifer   Foobar

2       dan  Raizman

3     Alden     Lowe


查看完整回答
反对 回复 2023-07-05

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号