如何复制 pandas 日期时间对象

how to duplicate pandas datetime object

我有一个 1X1 pandas 系列对象,其中包含一个日期时间对象。我想将此行复制到额外的 X 行(例如 10)。我已经尝试通过 .append 命令以及简单的乘法来完成它,但是当对象类型为 'datetime' 时它似乎不起作用。帮助表示赞赏。

>>> print df
0   2016-04-21
dtype: datetime64[ns]

所需的输出应该类似于(我通过相当繁琐的过程生成的 df.append([df,df,df...])

0   2016-04-21
0   2016-04-21
0   2016-04-21
0   2016-04-21
0   2016-04-21
0   2016-04-21
dtype: datetime64[ns]

您可以为此使用 numpy.tile() 函数:

In [43]: s = pd.Series(pd.to_datetime('2016-04-21'))

In [44]: s
Out[44]:
0   2016-04-21
dtype: datetime64[ns]

In [45]: np.tile(s, 10)
Out[45]:
array(['2016-04-21T02:00:00.000000000+0200',
       '2016-04-21T02:00:00.000000000+0200',
       '2016-04-21T02:00:00.000000000+0200',
       '2016-04-21T02:00:00.000000000+0200',
       '2016-04-21T02:00:00.000000000+0200',
       '2016-04-21T02:00:00.000000000+0200',
       '2016-04-21T02:00:00.000000000+0200',
       '2016-04-21T02:00:00.000000000+0200',
       '2016-04-21T02:00:00.000000000+0200',
       '2016-04-21T02:00:00.000000000+0200'], dtype='datetime64[ns]')

In [46]: pd.DataFrame(np.tile(s, 10), columns=['date'])
Out[46]:
        date
0 2016-04-21
1 2016-04-21
2 2016-04-21
3 2016-04-21
4 2016-04-21
5 2016-04-21
6 2016-04-21
7 2016-04-21
8 2016-04-21
9 2016-04-21