Home > Back-end >  'Timestamp' object is not subscriptable
'Timestamp' object is not subscriptable

Time:02-10

This is my code, I am trying to get months for a new column

import pandas as pd
df = pd.read_excel("..\Data.xlsx")
df.head(4)
p = df["Month"][0]
p[0:3]

I don't know what's the issue is here but it was working well for other datasets with the same attributes

Dataset:

        Month  Passengers
0  1995-01-01         112
1  1995-02-01         118
2  1995-03-01         132
3  1995-04-01         129
4  1995-05-01         121

P.S: In the excel data set month values are in Jan-1995 Feb-1995 format, it changed to YY:MM:DAY format because of pandas.

Traceback (most recent call last):

  File "C:\Users\sreen\AppData\Local\Temp/ipykernel_27276/630478717.py", line 1, in <module>
    p[0:3]

TypeError: 'Timestamp' object is not subscriptable

CodePudding user response:

Maybe you need to write p = df["Month"]? In you current code, p is the first value of the Month column, so p[0:3] is just a Timestamp, which can't be subscripted.

CodePudding user response:

This shall work for you:

df.rename(columns = {'Month':'Date'}, inplace = True)
df['Month'] = pd.DatetimeIndex(df['Date']).month

  • Related