我刚刚开始使用python 3.7,我正在尝试创建一个序列(例如从0到23)并重复它。使用
rep1 = pd.Series(range(24))
我想出了如何制作前24个值,所以我想多次“复制粘贴”它,以便最终系列是原始的5次,一次又一次。 rep = pd.Series.repeat(rep1, 5)
的结果给我的结果看起来像这样,这不是我想要的
0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 ...
我要寻找的是0-23范围多次。有什么建议吗?
答案 0 :(得分:3)
您可以尝试以下操作:
def find[Kind[_[_]], F[_]](c: blackbox.Context)(implicit kindTag: c.WeakTypeTag[Kind[F]], fTag: c.WeakTypeTag[F[_]]): c.Expr[Kind[F]] = {
import c.universe._
val self = c.eval(c.Expr[Delayed[Kind]](c.untypecheck(c.prefix.tree.duplicate)))
val sourceFile = AbstractFile.getFile(self.sourceFilePath)
val batchSourceFile = new BatchSourceFile(sourceFile, sourceFile.toCharArray)
val implicitSearchPosition = new OffsetPosition(batchSourceFile, self.callSitePoint).asInstanceOf[c.Position]
c.Expr[Kind[F]](c.inferImplicitValue(
appliedType(kindTag.tpe.typeConstructor, fTag.tpe.typeConstructor),
pos = implicitSearchPosition
))
}
这将重复您的系列5次。
答案 1 :(得分:2)
使用numpy.tile
的另一种解决方案:
import numpy as np
rep = pd.Series(np.tile(rep1, 5))
答案 2 :(得分:0)
您可以使用列表直接生成您的系列。
rep = pd.Series(list(range(24))*5)
答案 3 :(得分:0)