将 DataFrame 中的列表解包为单独的行
在数据操作场景中,您可能会遇到将包含列表的 pandas 单元格转换为单独的行。为了实现这一点,您可以利用 pandas 的explode() 方法的功能。
在 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}) df.set_index(['name', 'opponent'])
使用上面的 DataFrame,您的目标是将值解压并堆叠到nearest_neighbors 列中,导致每个值成为每个相应对手中的一行。
以下是使用explode()方法实现此目的的方法:
df.explode('nearest_neighbors')
输出将如下所示:
nearest_neighbors name opponent A.J. Price 76ers Zach LaVine 76ers Jeremy Lin 76ers Nate Robinson 76ers Isaia blazers Zach LaVine blazers Jeremy Lin blazers Nate Robinson blazers Isaia bobcats Zach LaVine bobcats Jeremy Lin bobcats Nate Robinson bobcats Isaia
通过利用explode()方法,您可以有效地将原始的类似列表的列转换为行,从而提供更加结构化和易于管理的数据表示。
以上是如何将 pandas DataFrame 中的列表解压缩为单独的行?的详细内容。更多信息请关注PHP中文网其他相关文章!