转换数据集

时间:2018-03-07 19:21:07

标签: python pandas

我有一个像这样的数据框:

ID  | Value1  | Value2  | Tags
1   |    1    |    6    |   Alex/Jason
2   |    6    |    3    |   Miranda
3   |    5    |    9    |   Jose/Rebecca
4   |    2    |    7    |   Max
5   |    0    |    1    |   Lilly

我想用分隔符(在本例中为“/”)拆分Tag列,然后复制行,使每行只有一个Tag:

ID  | Value1  | Value2  | Tags
1   |    1    |    6    |   Alex
1   |    1    |    6    |   Jason
2   |    6    |    3    |   Miranda
3   |    5    |    9    |   Jose
3   |    5    |    9    |   Rebecca
4   |    2    |    7    |   Max
5   |    0    |    1    |   Lilly

1 个答案:

答案 0 :(得分:1)

有一个解决方案

s=df.Tags.str.split('/')

pd.concat([df[['ID','Value1','Value2']].reindex(df.index.repeat(s.str.len()))]).assign(Tags=s.sum())
Out[580]: 
   ID  Value1  Value2     Tags
0   1       1       6     Alex
0   1       1       6    Jason
1   2       6       3  Miranda
2   3       5       9     Jose
2   3       5       9  Rebecca
3   4       2       7      Max
4   5       0       1    Lilly