Python 将列值拆分为多个行和列

Python 将列值拆分为多个行和列,python,pandas,Python,Pandas,我面临着熊猫的问题。输入数据为单列: MixedColumn ------------- 20_5, 20_5**1 20_7**9 20_4, 40_4, 15_4**2 我想把它拆分成这样的东西: Col1 Col2 -------------- 20_5 1 20_5 1 20_7 9 20_4 2 40_4 2 15_4 2 根据逗

我面临着熊猫的问题。输入数据为单列:

 MixedColumn    
-------------
 20_5, 20_5**1   
 20_7**9    
 20_4, 40_4, 15_4**2    
我想把它拆分成这样的东西:

Col1   Col2   
--------------
 20_5    1         
 20_5    1           
 20_7    9       
 20_4    2  
 40_4    2
 15_4    2
根据逗号(如果存在)将逻辑拆分为每一行项目(20_5,20_5),并将它们放在同一列的下一行(Col1)。以及基于**拆分每行项目(**1),并将其与单独列(Col2)中的单个值关联


对不起,如果这是一个noob问题。任何暗示都会帮我的忙。谢谢并祝大家节日快乐。

首先在
**
上拆分,获得
Col2
,并
expand=True

然后,我们使用为每个元素创建新行来创建
Col1

注:这要求
pandas>=0.25.0

df = pd.DataFrame({"mixed_column": ["20_5, 20_5**1", "20_7**9", "20_4, 40_4, 15_4**2"]})
df_split = df.mixed_column.str.rsplit("**").apply(pd.Series)
df_split[0] = df_split.apply(lambda x: x[0].split(", "), axis=1)
df_split = df_split.explode(0)
这给了你

      0  1
0  20_5  1
0  20_5  1
1  20_7  9
2  20_4  2
2  40_4  2
2  15_4  2

是数据类型对象的mixedcolumn吗?是。其目的
      0  1
0  20_5  1
0  20_5  1
1  20_7  9
2  20_4  2
2  40_4  2
2  15_4  2