2016-03-15 77 views
1

我有一列與Timestamp條目的數據幀,從字符串創建像這樣:如何在pandas Dataframe列上應用to_datetime?

df = pd.DataFrame({"x": pd.to_datetime("MARCH2016")}) 

現在我想基於一個月df選擇,跨年切割,通過訪問datetime對象的.month屬性。但是,to_datetime實際上是從字符串中創建了一個Timestamp對象,而我似乎無法將它強制爲datetime。如預期了以下工作:

type(df.x[0].to_datetime()) # gives datetime object 

但使用apply(這當然是我的現實生活中的例子,我想你給我有一個以上的行)不:

type(df.x.apply(pd.to_datetime)[0]) # returns Timestamp 

什麼我錯過了嗎?

+1

不知道你期待什麼,但它應該工作正常'DF [「X」] DT .month' – EdChum

+0

我只是沒有意識到'datetime'是'Timestamp'對象的屬性 - 我雖然可以創建'datetime'或'Timestamp'對象,並且我需要'datetime'訪問'month'屬性的對象...謝謝! –

回答

1

,這是一個TimeStamp這裏無關緊要的事實,你可以使用.dt訪問仍可訪問month屬性:

In [79]: 
df = pd.DataFrame({"x": [pd.to_datetime("MARCH2016")]}) 
df['x'].dt.month 

Out[79]: 
0 3 
Name: x, dtype: int64 
相關問題