Xip*_*ias 5 python datetime timestamp pandas
根据手册,pd.to_datetime()应该创建一个datetime对象.
相反,当我打电话时pd.to_datetime("2012-05-14"),我得到一个时间戳对象!调用to_datetime()该对象最终给了我一个datetime对象.
In [1]: pd.to_datetime("2012-05-14")
Out[1]: Timestamp('2012-05-14 00:00:00', tz=None)
In [2]: t = pd.to_datetime("2012-05-14")
In [3]: t.to_datime()
Out[2]: datetime.datetime(2012, 5, 14, 0, 0)
Run Code Online (Sandbox Code Playgroud)
对这种意外行为有解释吗?
一个Timestamp对象是大熊猫的工作与日期时间的方式,所以它是在大熊猫DateTime对象.但你期待一个datetime.datetime对象.
通常你不应该关心这个(这只是一个不同的repr的问题).只要您使用pandas,时间戳就可以了.即使你真的想要一个datetime.datetime,大多数事情都会起作用(例如所有方法),否则你可以用它to_pydatetime来检索datetime.datetime对象.
更长的故事:
pandas将datetimes存储为datetime64索引/列中类型的数据(这不是datetime.datetime对象).这是日期时间的标准numpy类型,并且比使用datetime.datetime对象更高效:
In [15]: df = pd.DataFrame({'A':[dt.datetime(2012,1,1), dt.datetime(2012,1,2)]})
In [16]: df.dtypes
Out[16]:
A datetime64[ns]
dtype: object
In [17]: df.loc[0,'A']
Out[17]: Timestamp('2012-01-01 00:00:00', tz=None)
Run Code Online (Sandbox Code Playgroud)Timestamp对象.这是一个更方便的对象来处理日期时间(比datetime64更多的方法,更好的表示等),这是它的子类datetime.datetime,所以它的所有方法都是如此.| 归档时间: |
|
| 查看次数: |
1481 次 |
| 最近记录: |