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

我有一个 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           McSmith

1  Jennifer      Foobar

2  Dan           Raizman

3  Alden         Lowe


函数式编程
浏览 205回答 1
1回答

不负相思意

用于水平np.hstack堆叠列中的列表players并创建一个新的数据框:df1 = pd.DataFrame(np.hstack(df['players']).tolist())或者使用Series.explode(在 pandas 版本 >= 中可用0.25),df1 = pd.DataFrame(df['players'].explode().tolist())另一种选择是itertools.chainfrom itertools import chain df1 = pd.DataFrame(chain.from_iterable(df['players']))结果:print(df1)      first     last0       jon  McSmith1  Jennifer   Foobar2       dan  Raizman3     Alden     Lowe
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python