在这种情况下,如何将对象类型数据转换为日期时间数据?
How do I convert object type data to datetime data in this case?
所以我的数据格式如下:
1/1/2022 0:32
我查找了 dataframe.dytpe
给出的类型,发现这是一个对象类型。现在,为了进一步分析,我认为最好将其转换为日期时间数据类型。
为此,我尝试使用
dataframe["time"] = pd.to_datetime(["time"], format = "%d%m%y")
,尽管这只会让我在我希望我的时间出现的行中出现 NaT。转换给定数据的正确方法是什么?
将时间和日期分开比较好还是有办法转换整体?
你可以这样做:
df['time'] = pd.to_datetime(df['time']).dt.normalize()
或
df["time"]=df["time"].astype('datetime64')
它将 object
类型转换为 datetime64[ns]
我认为 datetime64[ns]
总是 YYYY-MM-DD
格式,如果你想改变你的格式,你可以使用:
df['time'] = df['time'].dt.strftime('%m/%d/%Y')
您可以根据需要的格式更改 '%m/%d/%Y'
。 但是,数据类型将再次更改为object
,使用strftime
。
所以我的数据格式如下:
1/1/2022 0:32
我查找了 dataframe.dytpe
给出的类型,发现这是一个对象类型。现在,为了进一步分析,我认为最好将其转换为日期时间数据类型。
为此,我尝试使用
dataframe["time"] = pd.to_datetime(["time"], format = "%d%m%y")
,尽管这只会让我在我希望我的时间出现的行中出现 NaT。转换给定数据的正确方法是什么? 将时间和日期分开比较好还是有办法转换整体?
你可以这样做:
df['time'] = pd.to_datetime(df['time']).dt.normalize()
或
df["time"]=df["time"].astype('datetime64')
它将 object
类型转换为 datetime64[ns]
我认为 datetime64[ns]
总是 YYYY-MM-DD
格式,如果你想改变你的格式,你可以使用:
df['time'] = df['time'].dt.strftime('%m/%d/%Y')
您可以根据需要的格式更改 '%m/%d/%Y'
。 但是,数据类型将再次更改为object
,使用strftime
。