首页 > 解决方案 > pandas 将一行转换为多行

问题描述

我有一个如下的数据框。

我的数据框如下。

ID      list
1       a, b, c
2       a, s
3       NA
5       f, j, l

我需要将列表列(字符串)中的每个项目分成独立的行,如下所示:

ID      item
1       a
1       b
1       c
2       a
2       s
3       NA
5       f
5       j
5       l

谢谢。

标签: python-3.xpandasdataframe

解决方案


然后用于str.split分隔您的项目explode

print (df.assign(list=df["list"].str.split(", ")).explode("list"))

   ID list
0   1    a
0   1    b
0   1    c
1   2    a
1   2    s
2   3  NaN
3   5    f
3   5    j
3   5    l

推荐阅读