如何重复 pandas 数据帧?

2022-05-28 00:00:00 python pandas dataframe duplicates repeat

问题描述

这是我的DataFrame,应该重复5次:

>>> x = pd.DataFrame({'a':1,'b':2}, index = range(1))
>>> x
   a  b
0  1  2

我希望得到这样的结果:

>>> x.append(x).append(x).append(x)
   a  b
0  1  2
0  1  2
0  1  2
0  1  2

但肯定有比追加4次更聪明的方法。实际上,我正在处理的DataFrame应该重复50次。

我没有找到任何实用的东西,包括np.repeat-它在DataFrame上不起作用。

有人能帮忙吗?


解决方案

可以使用concat函数:

In [13]: pd.concat([x]*5)
Out[13]: 
   a  b
0  1  2
0  1  2
0  1  2
0  1  2
0  1  2

如果您只想重复这些值,而不想重复索引,您可以这样做:

In [14]: pd.concat([x]*5, ignore_index=True)
Out[14]: 
   a  b
0  1  2
1  1  2
2  1  2
3  1  2
4  1  2

相关文章