
本文共 3102 字,大约阅读时间需要 10 分钟。
-
Overview
pandas/numpy/datetime/time,这四个module是常用的时间相关模块。
timestamp
,datetime
,str
是三大类常用的数据类型。需要理顺彼此之间错综复杂的关系。The Python world has a number of avaiable representations of dates, times, deltas, and timespans.
-
Native Python dates and times:
datetime
anddateutil
Python’s basic objects for working with dates and times reside in the built-in
datetime
module.Third-party
dateutil
can be used to parse dates from a variety of string formats.-
The
datetime
module supplies classes for manipulating dates and times. -
The
dateutil
module provides powerful extensions to the standarddatetime
module.
-
-
Typed arrays of times:
Numpy
's datetime64The weaknesses of Python’s datetime format inspired the Numpy team to add a set of native time series date type to Numpy.
The
datetime64
dtype encodes dates as 64-bit integers, and thus allows arrays of dates to be represented very compactly.The
datetime64
requires a very specific input format.Because of the uniform type in NumPy
datetime64
arrays, this type of operation can be accomplished much more quickly than if we were working directly with Python’sdatetime
objects.-
Starting in NumPy 1.7, there are core array date types which natively support datetime functionality. The data type is called “
datetime64
”, so named because “datetime” is already taken bydatetime
library included in Python.The most basic way to create
datetimes
is from strings in ISO8601 date or datetime format.The Unit for internal storage is :
- automatically selected from the form of the string,
- and can be either :
- a unit:
Y
M
W
D
- a time unit:
h
m
s
ms
us
ns
ps
fs
as
- a unit:
datetime64
is the data type;datetime64[ns]
ordatetime64[s]
ordatetime64[unit]
isdatetime64
with unit.Finally, we will note that while the
datetime64
data type addresses some of the deficiencies of the built-in Pythondatetime
type, it lacks many of the convenient methods and functions provided bydatetime
and especiallydateutil
.
-
-
Dates and times in
pandas
: best of both worldsPandas
builds upon all the tools just discussed to provideTimestamp
object, which combines the ease-of-use ofdatetime
anddateutil
with the efficient storage and vectorized interface ofnumpy.datetime64
.From a group of these
Timestamp
objects, Pandas can construct aDatetimeIndex
that can be used to index data in a Series or DataFrame.Pandas Time Series: Indexing by Time
Where the Pandas time series tools become useful is when you begin to index data by timestamps.
Pandas Time Series Data Structures
For timestamps, Pandas provides the
Timestamp
type: it is essentially a replacement for Python’s nativedatetime
, but is based on the more efficientnumpy.datetime64
date type.For time Periods, Pandas provides the
Period
type, based onnumpy.datetime64
.For time deltas or durations, Pandas provides the
Timedelta
type, based onnumpy.timedelta64
, more efficient replacement for Python’s nativedatetime.timedelta
type. -
汇总
Python native is
datetime.datetime
data type from module:datetime
;更高效的是
datetime64
data type from module:NumPy
;结合上述两者优点的是
TimeStamp
/Timedelta
data type from module:Pandas
; -
不同数据类型之间的转换
-
References
发表评论
最新留言
关于作者
