2016-06-21 7 views
2

Ich verfolge einen Kurs, wo ich ein Datum in einen Unix-Zeitstempel konvertieren muss.'Zeitstempel' Objekt hat kein Attribut 'Zeitstempel'

import pandas as pd 

df = pd.read_csv('file.csv') 
print type(df.iloc[-1].name) 

Klasse 'pandas.tslib.Timestamp'

ts = df.iloc[-1].name.timestamp() 

Attribute: 'Timestamp' Objekt hat kein Attribut 'Zeitstempel'

+3

scheint, wie die 'Timestamp' Klasse bietet keine' Zeitstempel() 'Methode. Soll es? – khelwood

+2

Was versuchst du zu tun? – Borbag

+0

Hallo - hat entweder meine Antwort oder @ MaxUs Antwort geholfen, um dein Problem zu lösen? Wenn ja, wäre es schön, wenn Sie die Frage als beantwortet markieren könnten. –

Antwort

0

Sie fragen nicht wirklich eine Frage (Tipp für das nächste Mal: ​​seien Sie expliziter), aber ich nehme an, Sie möchten einen Epochen-/Unix-Zeitstempel von einem Pandas Timestamp-Objekt.

Wenn Sie die pandas.tslib.Timestamp.value Methode verwenden, werden Sie den Zeitstempel in Mikrosekunden zurückkehren (1/1.000.000 Sekunden):

In [1]: import pandas as pd 

In [2]: date_example = pd.to_datetime("2016-06-21") 

In [3]: type(date_example) 
Out[3]: pandas.tslib.Timestamp 

In [4]: date_example.value 
Out[4]: 1466467200000000000 

Wenn Sie es vorziehen Sie einfach durch 1000 teilen können Millisekunden oder 1000000 zu erhalten Ganzes zu erhalten Sekunden, zum Beispiel:

In [5]: date_example.value/1000000 
Out[5]: 1466467200000 
0

IIUC, können Sie es auf diese Weise tun:

Probe DF erzeugen mit Datumzeit dtype

In [65]: x = pd.DataFrame({'Date': pd.date_range('2016-01-01', freq='5D', periods=5)}) 

In [66]: x 
Out[66]: 
     Date 
0 2016-01-01 
1 2016-01-06 
2 2016-01-11 
3 2016-01-16 
4 2016-01-21 

konvertieren Datetime zu UNIX-Zeitstempel

In [67]: x.Date.astype(np.int64) // 10**9 
Out[67]: 
0 1451606400 
1 1452038400 
2 1452470400 
3 1452902400 
4 1453334400 
Name: Date, dtype: int64