熊猫转型:一对多关系变成一对一

时间:2018-10-27 01:41:40

标签: pandas list one-to-many

我有一个熊猫数据框,例如

               APP_ID               SETTING_ID
0                 7              [1009, 962, 430]
1                 8              [103, 914, 890, 218]

我需要对其进行转换,以使列表中的每个SETTING_IDAPP_ID都具有一对一的关系

               APP_ID          SETTING_ID
0                 7              1009
1                 7              962
2                 8              103
3                 8              914
4                 8              890

1 个答案:

答案 0 :(得分:1)

这就是所谓的unnest

pd.DataFrame({'APP_ID':df.APP_ID.repeat(df.SETTING_ID.str.len()),'SETTING_ID':sum(df.SETTING_ID.tolist(),[])})
Out[367]: 
   APP_ID  SETTING_ID
0       7        1009
0       7         962
0       7         430
1       8         103
1       8         914
1       8         890
1       8         218