我有一个dataframe
的格式:
UserID num_attempts
abc123 4
def234 3
我期待以这样一种方式转换它,输出如下
result_col
abc123
abc123
abc123
abc123
def234
def234
def234
本质上是创建一个新的DF,其中有一列,即UserID
为每个用户重复num_attempts
抱歉,我没有更好的措辞方式......但是否有一个Python的方式来实现这一点?我想避免一个for循环......谢谢!
3条答案
按热度按时间yzckvree1#
使用
split
、mul
和explode
:感谢 @Corralien,我们使用
r"\x00"
(* 表示Unicode中的空字符 *)作为正则表达式模式,以潜在地防止在空白处发生拆分。Ouptut:
如果你需要一个 DataFrame,用途:
bvuwiixz2#
另一种可能的解决方案:
或者,更简洁地说:
输出:
mgdq6dx13#
在重新索引 Dataframe 之前使用
Index.repeat
:为了获得预期的结果,请执行以下操作:
另一种方式使用numpy和DataFrame构造函数: