Python 3.x 使用列中的字符串值向dataframe添加行

Python 3.x 使用列中的字符串值向dataframe添加行,python-3.x,pandas,Python 3.x,Pandas,我想根据每行的列值将行添加到数据框中,因此1:2:3的字符串值将创建一个新列并为该列添加行,如下例所述: 我有这样的数据: Col1 | Col2 1 | 1:2:3 2 | 4:5 我想将其转换为如下所示: Col1 | Col2 1 | 1 1 | 2 1 | 3 2 | 4 2 | 5 我知道这可以使用嵌套for循环来完成,但我确信有更好的方法来完成。进行拆分和分解 不要分裂和爆炸 拆分Col2中的值,使其成为列表并分解 >>

我想根据每行的列值将行添加到数据框中,因此1:2:3的字符串值将创建一个新列并为该列添加行,如下例所述:

我有这样的数据:

Col1  | Col2
1     | 1:2:3
2     | 4:5
我想将其转换为如下所示:

Col1 | Col2
1    | 1
1    | 2
1    | 3
2    | 4
2    | 5
我知道这可以使用嵌套for循环来完成,但我确信有更好的方法来完成。

进行拆分和分解

不要分裂和爆炸

拆分Col2中的值,使其成为列表并分解

>>> df['Col2'] = df.apply(lambda x: x['Col2'].split(':'), axis = 1)
>>> df.explode('Col2')
   Col1 Col2
0     1    1
0     1    2
0     1    3
1     2    4
1     2    5
拆分Col2中的值,使其成为列表并分解

>>> df['Col2'] = df.apply(lambda x: x['Col2'].split(':'), axis = 1)
>>> df.explode('Col2')
   Col1 Col2
0     1    1
0     1    2
0     1    3
1     2    4
1     2    5

我得到了相同的:+1我得到了相同的:+1谢谢,我不知道这个爆炸函数。我使用的是pandas 0.23,所以一开始对我不起作用。最低版本是熊猫0.25。谢谢,我不知道这个爆炸功能。我使用的是pandas 0.23,所以一开始对我不起作用。最低版本为0.25。
>>> df['Col2'] = df.apply(lambda x: x['Col2'].split(':'), axis = 1)
>>> df.explode('Col2')
   Col1 Col2
0     1    1
0     1    2
0     1    3
1     2    4
1     2    5