我正在關注一個課程,我必須將日期轉換爲unix時間戳。'時間戳'對象沒有屬性'時間戳'
import pandas as pd
df = pd.read_csv('file.csv')
print type(df.iloc[-1].name)
類的pandas.tslib.Timestamp'
ts = df.iloc[-1].name.timestamp()
AttributeError的: '時間戳' 對象有沒有屬性 '時間戳'
我正在關注一個課程,我必須將日期轉換爲unix時間戳。'時間戳'對象沒有屬性'時間戳'
import pandas as pd
df = pd.read_csv('file.csv')
print type(df.iloc[-1].name)
類的pandas.tslib.Timestamp'
ts = df.iloc[-1].name.timestamp()
AttributeError的: '時間戳' 對象有沒有屬性 '時間戳'
其實你不問問題(下次提示:更明確),但我認爲你需要熊貓Timestamp對象的epoch/Unix時間戳。
如果使用pandas.tslib.Timestamp.value
方法,你就會返回微秒(1/1000000-秒)時間戳:
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
或
如果你喜歡,你可以簡單地除以1000得到毫秒1000000轉換爲得到全秒,如:
In [5]: date_example.value/1000000
Out[5]: 1466467200000
IIUC,你可以這樣來做:
產生樣品DF與日期時間D型
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
轉換日期時間到UNIX時間戳
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
好像'Timestamp'類不提供一個'時間戳()'方法。它應該嗎? – khelwood
你想做什麼? – Borbag
嗨 - 我的迴應還是@ MaxU的回覆幫助解決您的問題?如果是這樣,如果你可以將問題標記爲已回答,那就太好了。 –