首页  >  文章  >  后端开发  >  如何将类似列表的列解压缩为 DataFrame 中的单独行?

如何将类似列表的列解压缩为 DataFrame 中的单独行?

Linda Hamilton
Linda Hamilton原创
2024-11-11 22:51:03878浏览

How to Unpack a List-Like Column into Separate Rows in a DataFrame?

将类似列表的列解压缩为 DataFrame 中的单独行

问题:

我们如何转换 DataFrame包含列表的单元格为该列表中的每个值分成单独的行?

示例:

考虑以下 DataFrame:

name opponent nearest_neighbors
A.J. Price 76ers ['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']

我们的目标是“爆炸”nearest_neighbors列,为列表中的每个值创建一个新行。

答案:

在pandas版本0.25及更高版本中,explode( ) 方法使此操作变得简单:

import pandas as pd

df = (pd.DataFrame({'name': ['A.J. Price'] * 3, 
                    'opponent': ['76ers', 'blazers', 'bobcats'], 
                    'nearest_neighbors': [['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']] * 3})
      .set_index(['name', 'opponent']))

df.explode('nearest_neighbors')

输出:

name opponent nearest_neighbors
A.J. Price 76ers Zach LaVine
A.J. Price 76ers Jeremy Lin
A.J. Price 76ers Nate Robinson
A.J. Price 76ers Isaia
A.J. Price blazers Zach LaVine
A.J. Price blazers Jeremy Lin
A.J. Price blazers Nate Robinson
A.J. Price blazers Isaia
A.J. Price bobcats Zach LaVine
A.J. Price bobcats Jeremy Lin
A.J. Price bobcats Nate Robinson
A.J. Price bobcats Isaia

explode() 方法有效地展开最近的邻居列中的每个列表,为每个值创建一个新行。

以上是如何将类似列表的列解压缩为 DataFrame 中的单独行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn