Giovanni De Gaetano
Giovanni De Gaetano

Reputation: 451

Why pandas has its own datetime object Timestamp?

The documentation of pandas.Timestamp states a concept well-known to every pandas user:

Timestamp is the pandas equivalent of python’s Datetime and is interchangeable with it in most cases.

But I don't understand why are pandas.Timestamps needed at all. Why is, or was, it useful to have a different object than python's Datetime? Wouldn't it be cleaner to simply build pandas.DatetimeIndex out of Datetimes?

Upvotes: 7

Views: 854

Answers (1)

Karn Kumar
Karn Kumar

Reputation: 8826

You can go through Pandas documentation for the details:

"pandas.Timestamp" is a replacement for python datetime.datetime for Padas usage.

Timestamp is the pandas equivalent of python’s Datetime and is interchangeable with it in most cases. It’s the type used for the entries that make up a DatetimeIndex, and other timeseries oriented data structures in pandas.

Notes

There are essentially three calling conventions for the constructor. The primary form accepts four parameters. They can be passed by position or keyword.

The other two forms mimic the parameters from datetime.datetime. They can be passed by either position or keyword, but not both mixed together.

Timedeltas are differences in times, expressed in difference units, e.g. days, hours, minutes, seconds. They can be both positive and negative.

Timedelta is a subclass of datetime.timedelta, and behaves in a similar manner, but allows compatibility with np.timedelta64 types as well as a host of custom representation, parsing, and attributes.

I would say as pandas works better with Time Series data hence its been a kind of warper on the original built-in datetime module.

The weaknesses of Python's datetime format inspired the NumPy team to add a set of native time series data type to NumPy. The datetime64 dtype encodes dates as 64-bit integers, and thus allows arrays of dates to be represented very compactly.

Upvotes: 3

Related Questions