Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Apply datetime methods to timestamps results in numpy errors #2689

Closed
NigelCleland opened this Issue · 2 comments

2 participants

@NigelCleland

Hi,

This may or may not be a bug. I'm unsure of which functionality you were intending.

I have a timestamp created by

rng = pd.date_range(start_date, periods = 100, freq='2H')
A = DataFrame(rng) # We'll leave it as a generic index for now, not important.

I then have a function which is applied to that dataframe via A.apply(f)

def f(x):
    return (x.hour, x.day, x.month)

if I apply this functionality to the raw dataframe via .apply, this will result in a numpy.datetime64 error.

However, if I apply it to individual points.

E.g. f(A.ix[10]), then the correct functionality results.

I have determined that this is due to a difference between the types of the two

e.g. A.dtype = dtype('datetime64[n]s')

type(A.ix[10]) = pandas.tslib.Timestamp

Thus to get around the issue above you may simply add the following functionality to the function

def f(x):
x = pd.Timestamp(x)
return (x.hour, x.month, x.year)

I am filing this as I'm unsure of what you're intended functionality is with this matter

@wesm wesm was assigned
@wesm
Owner

Taking a look at this. A guideline for future posting issues: make sure the code you post works (there were multiple typos, I fixed a couple of them) and the exact code that generated the error is listed

@wesm
Owner

fixed along with #2627

@wesm wesm closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.