Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 熊猫将一行转换为多行_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 3.x 熊猫将一行转换为多行

Python 3.x 熊猫将一行转换为多行,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我有一个如下的数据帧 ID list 1 a, b, c 2 a, s 3 NA 5 f, j, l 我的数据框如下所示 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

我有一个如下的数据帧

ID      list
1       a, b, c
2       a, s
3       NA
5       f, j, l
我的数据框如下所示

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
谢谢。

使用str.split分隔物品,然后分解:


初学者的方法:只是使用pd.DataFrame.stack做同样事情的另一种方法

输出:

   ID list
0   1    a
1   1    b
2   1    c
3   2    a
4   2    s
5   3  nan
6   5    f
7   5    j
8   5    l

使用pandas爆炸和pandas str split。“拆分”选项将列表列转换为列表,分解将每个项目放入其自己的行中。列表列是字符串类型,而不是列表类型
   ID list
0   1    a
1   1    b
2   1    c
3   2    a
4   2    s
5   3  nan
6   5    f
7   5    j
8   5    l