2016-04-23 69 views
-1

我有一个包含单个日期时间对象的1X1熊猫系列对象。我想复制这行到额外的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] 

回答

1

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