【发布时间】:2019-06-04 04:35:04
【问题描述】:
我有一个数据框df
df
col1 act_id col2
--------------------
0 40;30;30 act1 A;B;C
1 25;50;25 act2 D;E;F
2 70;30 act3 G;H
我想打破每条记录,使col1 和col2 列中的值爆炸成多行,但在';' 拆分后col1 中的第一个值对应于第一个值col2 在';' 上拆分后。所以我的desired_df 应该是这样的:
desired_df
col1 act_id col2
---------------
0 40 act1 A
1 30 act1 B
2 30 act1 C
3 25 act2 D
4 50 act2 E
5 25 act2 F
6 70 act3 G
7 30 act3 H
注意:这与Split (explode) pandas dataframe string entry to separate rows 不同,因为这里一条记录的爆炸/拆分不仅仅是跨一列,而是需要将一行拆分或拆分为多行,同时在两列中。
感谢任何帮助。谢谢
【问题讨论】:
-
您可以从这里使用
unnesting(df,['col1','col2']):stackoverflow.com/questions/53218931/… 在将列拆分为;之后,如df.col1=df.col1.str.split(';')和col2 相同