Select DataFrame rows between two dates

前端 未结 10 695
挽巷
挽巷 2020-11-22 03:14

I am creating a DataFrame from a csv as follows:

stock = pd.read_csv(\'data_in/\' + filename + \'.csv\', skipinitialspace=True)

The DataFra

10条回答
  •  不知归路
    2020-11-22 04:03

    You can use the isin method on the date column like so df[df["date"].isin(pd.date_range(start_date, end_date))]

    Note: This only works with dates (as the question asks) and not timestamps.

    Example:

    import numpy as np   
    import pandas as pd
    
    # Make a DataFrame with dates and random numbers
    df = pd.DataFrame(np.random.random((30, 3)))
    df['date'] = pd.date_range('2017-1-1', periods=30, freq='D')
    
    # Select the rows between two dates
    in_range_df = df[df["date"].isin(pd.date_range("2017-01-15", "2017-01-20"))]
    
    print(in_range_df)  # print result
    

    which gives

               0         1         2       date
    14  0.960974  0.144271  0.839593 2017-01-15
    15  0.814376  0.723757  0.047840 2017-01-16
    16  0.911854  0.123130  0.120995 2017-01-17
    17  0.505804  0.416935  0.928514 2017-01-18
    18  0.204869  0.708258  0.170792 2017-01-19
    19  0.014389  0.214510  0.045201 2017-01-20
    

提交回复
热议问题