Python 如何复制datetime对象

Python 如何复制datetime对象,python,pandas,dataframe,python-datetime,Python,Pandas,Dataframe,Python Datetime,我有一个1X1熊猫系列对象,它包含一个datetime对象。我想把这一行复制成额外的X行(如10)。我尝试过通过.append命令以及普通乘法来实现,但当对象类型为“datetime”时,它似乎不起作用。谢谢你的帮助 >>> print df 0 2016-04-21 dtype: datetime64[ns] 所需的输出应该类似(我通过相当繁琐的df.append([df,df,df…])生成) 您可以使用numpy.tile()函数: In [43]: s = pd.

我有一个1X1熊猫系列对象,它包含一个datetime对象。我想把这一行复制成额外的X行(如10)。我尝试过通过.append命令以及普通乘法来实现,但当对象类型为“datetime”时,它似乎不起作用。谢谢你的帮助

>>> print df
0   2016-04-21
dtype: datetime64[ns]
所需的输出应该类似(我通过相当繁琐的df.append([df,df,df…])生成)


您可以使用
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
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