Bera
Bera

Reputation: 1949

Select rows by year

I want to select rows by a year:

import pandas as pd
import numpy as np

df = pd.DataFrame(columns=['Start','End'],data=[[np.datetime64('2001-01-01'),np.datetime64('2001-07-01')],[np.datetime64('2002-01-01'),np.datetime64('2002-11-01')]])
print(df)

       Start        End
0 2001-01-01 2001-07-01
1 2002-01-01 2002-11-01

So i try:

df_2001 = df.loc[df['Start'].year == 2001]
AttributeError: 'Series' object has no attribute 'year'

How can i select by year in a datetime64 column?

Upvotes: 6

Views: 6134

Answers (1)

jezrael
jezrael

Reputation: 862661

Use dt.year:

df_2001 = df[df['Start'].dt.year == 2001]

Upvotes: 7

Related Questions