For SO purposes, this is some made up times series data:
import pandas as pd
import numpy as np
from numpy.random import randint
np.random.seed(10) # added for reproductibility
rng = pd.date_range('10/9/2018 00:00', periods=1000, freq='1H')
df = pd.DataFrame({'Random_Number':randint(1, 100, 1000)}, index=rng)
Question, how do I create a function that can return re-sampled daily 97.5 & 2.5 percentiles values for each in day in pandas data frame? I know this code below isn't even close it will just return the upper & lower percentiles of the entire dataset. Ultimately Im trying to break this down per day and the dataframe returned the index would be the time stamp (date) of the day re sampled..
def createDfs(data):
for day in df:
dfDay = pd.DataFrame()
hi = df.quantile(0.975)[0]
low = df.quantile(0.025)[0]
data = {'upper_97.5%': [hi],
'lower_2.5%' : [low]}
dfUpperLower = pd.DataFrame(data)
#dfUpperLower.set_index('Date')
return dfUpperLower
Any tips greatly appreciated..