簡體   English   中英

將dataframe列從對象轉換為date而不是datetime

[英]converting dataframe column from object to date not datetime

我使用的是python版本3.7。

我有一個數據幀,df包含一個名為TDate的列。

該列如下所示。

 2019-01-01 00:00:00
 2019-01-02 00:00:00
 2019-01-03 00:00:00
 2019-01-04 00:00:00

當我做df.dtypes時它告訴我列是object類型。

我接下來就行,

myDates = pd.to_datetime(df ['TDate'])

所以myDates是一個熊貓系列。

但是,如果我訪問此myDates系列的一個元素並檢查其類型,它告訴我它是一個libs.tslib.timestamps.Timestamp

我只想將原始數據幀列從對象轉換為格式為yyyy-mm-dd的日期。 這樣做的最佳方式是什么?

我考慮將時間戳轉換為日期,但由於時間戳是字符串文字而不是整數,因此不起作用。

使用Series.dt.floor從列中刪除時間信息(或者更好地將其設置為每個日期時間的默認值00:00:00 ):

myDates = pd.to_datetime(df['TDate']).dt.floor('d')
#for save to same column
#df['TDate'] = pd.to_datetime(df['TDate']).dt.floor('d')

或者Series.dt.normalize

myDates = pd.to_datetime(df['TDate']).dt.normalize()
#for save to same column
#df['TDate'] = pd.to_datetime(df['TDate']).dt.normalize()

如果使用:

myDates = pd.to_datetime(df['TDate']).dt.date

然后輸出是python日期對象,因此大多數類似datetime的函數都失敗了。

此代碼段會將時間戳轉換為日期

df['TDate']= pd.to_datetime(df['TDate']).dt.date

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM