【发布时间】:2012-10-14 12:57:03
【问题描述】:
我正在尝试转换 DataFrame,以便将某些行复制给定次数。例如:
df = pd.DataFrame({'class': ['A', 'B', 'C'], 'count':[1,0,2]})
class count
0 A 1
1 B 0
2 C 2
应该转化为:
class
0 A
1 C
2 C
这是带有计数功能的聚合的逆向。有没有一种简单的方法可以在 pandas 中实现它(不使用 for 循环或列表推导)?
一种可能是允许DataFrame.applymap 函数返回多行(类似于GroupBy 的apply 方法)。但是,我认为现在在 pandas 中是不可能的。
【问题讨论】:
-
我还想到了一个通用函数,它允许根据
count列中的值返回多行、一行或零行。 -
如果您在 2017 年+ 来回答这个问题,请查看我的答案以获得更有效、更直接的解决方案。