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

在 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
  • 1 回答
  • 0 关注
  • 204 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信