假设我有一个包含5行数据的数据框。我要制作4个相同数据框的重复集。

输入项

col1    col2
a   1
b   2
c   3
d   4
e   5


输出:

col1    col2
a      1
b      2
c      3
d      4
e      5
a      1
b      2
c      3
d      4
e      5
a      1
b      2
c      3
d      4
e      5
a      1
b      2
c      3
d      4
e      5


例如在python中,如果我有一个字符串s='-'要重复,我可以做这样的事情print s*4。我想要在熊猫中使用类似的功能。

到目前为止,我尝试了pd.concat

df=pd.concat([df,df,df,df])

但是问题是有时候我必须创建20个以上的重复数据帧。还有其他方法可以用pythonic方式制作重复的数据帧吗

最佳答案

在列表中使用concat一个数据框,并重复多个:

df = pd.concat([df] * 3, ignore_index=True)
print (df)
   col1  col2
0     a     1
1     b     2
2     c     3
3     d     4
4     e     5
5     a     1
6     b     2
7     c     3
8     d     4
9     e     5
10    a     1
11    b     2
12    c     3
13    d     4
14    e     5


具有重复索引值numpy.tile并按loc扩展的另一个解决方案:

df = df.loc[np.tile(df.index, 3)].reset_index(drop=True)

关于python - 创建数据框副本的简单方法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49915577/

10-10 08:56
查看更多