首页 > 解决方案 > 根据值扩展数据框

问题描述

我有一个这样的数据框:

Col1 | Col2 | Col3
 a   |   2  |  6
 a   |   1  |  3
 b   |   4  |  2
 b   |   2  |  3

希望以 Col2 为频率对其进行扩展。所以 Col2 表示 a-6 的组合重复两次,如下所示:

Col1 | Col3 |
 a   |   6  |
 a   |   6  |
 a   |   3  |
 b   |   2  |
 b   |   2  |
 b   |   2  |
 b   |   2  |
 b   |   3  |
 b   |   3  |

标签: pythonpandas

解决方案


只是repeat使用reindex

df.reindex(df.index.repeat(df.Col2)).drop('Col2',1)
Out[443]: 
  Col1  Col3
0    a     6
0    a     6
1    a     3
2    b     2
2    b     2
2    b     2
2    b     2
3    b     3
3    b     3

推荐阅读