using pandas to find length of a column with given range

2816 views python

so im trying to use pandas instead of a for loop to count the number of movies in a given range of year. Assume by data frame has 2 columns and 'year' is the column name at column 2

I solved it using a for loop but how would i do it by using pandas only?

def movie_made(beginning, end):
   movie =  pd.read_scv('title.csv')
   count = 0
   for i in move['year']:
      if beginning <= i and end <=i:
         count = count + 1
   return count

This allows me to count all the movies within a given year, but im wondering if there is a better way using the pandas infrastructure for reading from a data base.

answered question

2 Answers


You could do something like this:

import pandas as pd

df = pd.DataFrame(data=list(range(1980, 2001)), columns=['year'])
beginning, end = 1998, 2000

def movie_made(df, beginning, end):
    return len(df[(beginning <= df['year']) & (df['year'] <= end)].index)

print(movie_made(df, beginning, end))




  1. How do I get the row count of a Pandas dataframe?

posted this

Given a sample dataframe like this:

    movie   year
0      A    2016
1      B    2017
2      C    2018

you can set the year as index and use loc to get a year range then get count using shape


posted this

Have an answer?


Please login first before posting an answer.