2016-04-23 23 views
-1

Ich habe ein 1X1 Pandas Series-Objekt, das ein einzelnes Datetime-Objekt enthält. Ich möchte diese Zeile in zusätzliche X-Zeilen (z. B. 10) duplizieren. Ich habe versucht, es durch den Befehl .append sowie einfache Multiplikation zu tun, aber es scheint nicht zu funktionieren, wenn der Objekttyp "Datetime" ist. Hilfe geschätzt.Wie Pandas Datetime-Objekt zu duplizieren

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

die gewünschte Ausgabe sollte wie sein etwas (was ich durch recht umständlich df.append erzeugt ([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] 

Antwort

1

Sie numpy.tile() Funktion dafür verwenden können :

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