You can always translate to the desired frequency:
sp.reindex( pd.date_range( start=sp.index.min( ), end=sp.index.max( ), freq='W-WED' ) )
edit : you can add , method='ffill' to forward the NaN fill.
Take Wednesday as a suggestion, because they have the least missing values. (that is, fewer holidays in the NYSE fall on Wednesday). I think Yahoo's weekly data gives stock prices on Monday, which is the worst weekly frequency based on S&P data since 2000:
import pandas.io.data as web sp = web.DataReader("^GSPC", "yahoo", start=dt.date( 2000, 1, 1 ) ) weekday = { 0:'MON', 1:'TUE', 2:'WED', 3:'THU', 4:'FRI' } sp[ 'weekday' ] = list( map( weekday.get, sp.index.dayofweek ) ) sp.weekday.value_counts( )
output:
WED 722 TUE 717 THU 707 FRI 705 MON 659
source share